私は現在、テキスト ファイルから 2 つの数字のセットから数字を読み取り、それらを出力するプログラムを書いています。後で数値を使用して GCD を決定したいのですが、最初にファイルから数値をスキャンできる必要があります。テキスト ファイルは次のようになります。
24 72
25 50
31 89
...
最初の行の各数字と 2 番目の行の各数字の間でタブが押されます。
私はこれまでにこれを思いつきました(コメントアウトされたセクションはGCDを決定するために使用されます):
/*
File name: euclid.cpp
This program find the largest common multiple of two numbers using the Euclid method.
*/
#include <stdio.h>
#include "genlib.h"
#include "simpio.h"
int main()
{
FILE *input;
long num1=0, num2=0, orinum2=0, rem=0, gcd=0;
int i=0, size=0;
char temp;
input=fopen("Euclid.txt", "r");
while((temp=getc(input))!=EOF)
{
if(temp=='\n') size++;
}
size++;
while(i<size)
{
fscanf(input, "%d\t%d%[^\n]", &num1, &num2);
printf("%d\t%d\n", num1, num2);
orinum2=num2;
/* while (true)
{
rem=num1%num2;
if (rem==0)
{
gcd=num2; break;
}
else
{
num1=num2;
num2=rem;
}
}
printf("The GCD of %d and %d is %d.\n", num1, orinum2, gcd);
*/ i++;
}
fclose(input);
}
私がチェックしたすべてのウェブページとリソースは、これが機能するはずだと指示していますが、何らかの理由でそうではありません.