Ошибка при использовании структур - C (СИ)
Формулировка задачи:
Мне задали очень странное дополнительное задание. Организовать многочлены, с которыми я оперирую в программе, в структуры. Конечно, это совершенно необязательно в моем алгоритме, тем не менее, сделав структуры, у меня выводятся странные ошибки, точнее ошибка.
Что вы можете сказать по этому поводу?
void main(void) { struct quotient { int degree[MAX]; float S[MAX]; }; struct XYZ { int degree[MAX]; float Q[MAX]; }; struct residue { degree[MAX]; float P[MAX]; }; struct quotient some; struct XYZ thing; struct residue wrong; int degree; int n, i; float M; printf("enter degree\n"); scanf("%d", °ree); printf("enter k\n"); for (i=0; i<=(degree); i++) { scanf("%f", &wrong[i].P); } for(i=0; i<=(degree-1); i++) { M=wrong[i].P; thing[i].Q=(degree-i)*M; } for(i=0; i<=(degree-2); i++) {M=thing[i].Q; thing[i].Q=((float)(degree-i))*thing[i].Q; } thing[degree-1].Q=0; int j; for (i=0; i<=(degree); i++) some[i].S=0; for(i=0; i<3; i++) { some[i].S=wrong[i].P/thing[0].Q; for(j=0; j<=(degree-2); j++) wrong[i+j].P-=some[i].S*thing[j].Q; } for(i=(degree-2); i<=degree; i++) { printf("%f ", wrong[i].P); } }
error: subscripted value is neither array nor pointer nor vector
Решение задачи: «Ошибка при использовании структур»
textual
Листинг программы
struct residue { degree[MAX]; float P[MAX]; };
Объяснение кода листинга программы
- Объявляется структура residue.
- В структуре residue есть два поля: degree и P.
- Тип данных поля degree - массив целых чисел.
- Тип данных поля P - массив чисел с плавающей точкой.
- Размер массива MAX не определен, но предполагается, что он больше нуля.
- Не объявлены переменные для хранения значений структуры residue.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д