Функция считывает коэффициенты для полинома из стандартного ввода и сохраняет их в заданном массиве.Параметр вместимости сообщает функции, сколько места имеет массив coeff [] для коэффициентов.Функция пытается прочитать все возможные коэффициенты, пока не достигнет конца файла, и возвращает количество коэффициентов, которые она фактически читает.Если входной полином неверен (например, слишком много коэффициентов или если входное значение не анализируется как число с плавающей запятой), эта функция выведет «Недопустимый полином» и выйдет из программы со статусом 101.
Входной файл выглядит следующим образом:
0,0 6,0
25,00 -47,50 25,17 -5,00 0,33
Первые два числа - это диапазон графика и вторая строкапредставляет коэффициенты многочлена.
Это код, который у меня есть до сих пор:
/**
*/
// Include our own header first
#include "poly.h"
// Then, anything else we need in the implementation file.
#include <stdlib.h>
#include <stdio.h>
/** Exit status if the input polynomail is bad. */
#define INVALID_POLYNOMAIL_STATUS 101
int readPoly( int capacity, double coeff[] )
{
double variable = 0.0;
int ch;
int count = 0;
while ( ( ch = getchar() ) != EOF ) {
for(int i = 0; i < capacity; i++) {
if(scanf("%lf", &variable) != 1) {
fprintf(stderr, "Invalid input");
exit(101);
}
else {
coeff[i] = variable;
count++;
}
}
}
return count;
}