Получить выражение равное интегралу - C (СИ)
Формулировка задачи:
где а –данное число; Pn (x) – данный многочлен.
Решение задачи: «Получить выражение равное интегралу»
textual
Листинг программы
struct cn{ double c,n; }; void main() { int i, j, n; cn* arr; double xa[2], s; setlocale(LC_ALL,"Rus"); printf("Количество элементов многочлена: "); scanf("%d",&n); arr=(cn*)malloc(sizeof(cn)*n); for(i=0; i<n; i++) { printf("Коэффициент и степень через пробел: "); scanf("%lf%lf",&arr[i].c,&arr[i].n); arr[i].n++; arr[i].c/=arr[i].n; } for(i=0; i<n; i++) printf("%s%f*x^%f",(arr[i].c<0 || !i)?"":"+",arr[i].c,arr[i].n); printf("\nx и a через пробел: "); scanf("%lf%lf",xa,xa+1); s=0; for(i=0; i<2; i++) for(j=0; j<n; j++) s+=(i?-1:1)*arr[j].c*pow(xa[i],arr[j].n); printf("Интеграл: %f\n",s); free(arr);
Объяснение кода листинга программы
- Объявлены переменные: — i, j — счётчики; — n — количество элементов многочлена; — arr — указатель на массив структур; — xa — массив переменных; — s — переменная для хранения суммы;
- Выполняется вход в функцию
main()
. - Устанавливается локальная настройка вывода в консоль на русском языке.
- Выводится сообщение
Количество элементов многочлена:
и ожидается ввод количества элементов многочлена. - Выделяется память под массив структур
arr
с помощью функцииmalloc()
. - В цикле
for
происходит заполнение массива структурarr
. — Выводится сообщениеКоэффициент и степень через пробел:
и ожидается ввод коэффициента и степени. — Коэффициент делится на степень. - В цикле
for
происходит вывод выражений многочлена. - Выводится сообщение
x и a через пробел:
и ожидается ввод значенийxa
. - Переменная
s
инициализируется нулём. - В двойном цикле
for
происходит вычисление значения интеграла. - Выводится значение интеграла.
- Выполняется выход из функции
main()
. - Освобождается память, выделенная под массив структур
arr
, с помощью функцииfree()
.