За домашнее задание На этой неделе мне было поручено взять входные данные из файла и рекурсивно извлечь наибольший общий делитель из введенных чисел. Я столкнулся с проблемой, хотя. Я знаю, что мне нужно использовать cin.peek (), когда дело доходит до чтения, где находится конец строки, но у меня проблемы с этим. Как бы я изменил код, чтобы строки отображались отдельно?
В файле 25 чисел, но я просто выведу первые пару строк, чтобы понять, о чем я говорю. Я также приложил свой код ниже, и любая помощь очень ценится. Я не ищу прямой ответ. Мне просто нужно указать в правильном направлении.
Спасибо!
**Text File:
5 7
12 15
80 40 100
Code:
int gcd(int a, int b);
int gcd(int a, int b)
{
if (b != 0)
return gcd(b, a % b);
else
return a;
}
int main()
{
ifstream input("A1.txt");
int a = 0;
int b = 0;
int i = 0;
int j = 0;
int gcdArr[25];
if (input.is_open())
{
for (i = 0; i < 25; i++)
{
input >> gcdArr[i];
}
}
i = 0;
for (j = 0; j < 25; j++)
{
while ((cin.peek()) != '\n')
{
cout << gcd(gcdArr[i], gcdArr[i+1]) << endl;
}
i++;
}
_getch();
return 0;
}
Задача ещё не решена.
Других решений пока нет …