Найти коэффициенты многочлена - C (СИ)
Формулировка задачи:
Помогите решить задачу с одномерным массивом.
Даны вещественные числа a0,a1,... ,an (n<=15). Найти коэффициенты многочлена (x-a0)*(x-a1)*...*(x-an).
Решение задачи: «Найти коэффициенты многочлена»
textual
Листинг программы
#include <stdio.h> double coefficient(double array[], int size, double x) { double result = 1; int last = size - 1; for ( int i = 0; i < last; i++ ) { result *= (x-array[i]); printf("(%g-%g)*", x, array[i]); } result *= (x-array[last]); printf("(%g-%g)=", x, array[last]); return result; } int main() { int n; scanf("%d", &n); if ( n > 15 ) { n = 15; } if ( n > 0 ) { double array[n]; double x; scanf("%lf", &x); for ( int i = 0; i < n; i++ ) { scanf("%lf", &array[i]); } printf("%g\n", coefficient(array, n, x)); } else { printf("size value must be > 0\n"); } return 0; }
Объяснение кода листинга программы
- В функции
coefficient
происходит вычисление коэффициента многочлена. - Переменная
result
инициализируется единицей. - Переменная
last
содержит размер массиваarray
минус один. - В цикле
for
сlast
переменной проходится по всем элементам массиваarray
кроме последнего. - Каждый элемент массива
array
вычитается изx
и результат умножается наresult
. - В цикле выводится сообщение с вычитаемым и умножаемым значениями.
- Последний элемент массива вычитается из
x
после цикла. - Выводится сообщение с вычитаемым и последним элементом массива.
- Результат вычисления возвращается из функции.
- В функции
main
происходит считывание размера массиваn
. - Если
n
больше 15, тоn
присваивается 15. - Если
n
больше нуля, то создается массивarray
типаdouble
размеромn
. - Считывается значение переменной
x
типаdouble
. - В цикле
for
сn
переменной проходится по всем элементам массиваarray
. - Каждый элемент массива
array
считывается и сохраняется в соответствующую переменную типаdouble
. - Вычисляется и выводится коэффициент многочлена.
- Если
n
меньше или равно нулю, то выводится сообщение об ошибке и возвращается ноль. - Функция
main
возвращает ноль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д