Найти коэффициенты многочлена - 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;
}

Объяснение кода листинга программы

  1. В функции coefficient происходит вычисление коэффициента многочлена.
  2. Переменная result инициализируется единицей.
  3. Переменная last содержит размер массива array минус один.
  4. В цикле for с last переменной проходится по всем элементам массива array кроме последнего.
  5. Каждый элемент массива array вычитается из x и результат умножается на result.
  6. В цикле выводится сообщение с вычитаемым и умножаемым значениями.
  7. Последний элемент массива вычитается из x после цикла.
  8. Выводится сообщение с вычитаемым и последним элементом массива.
  9. Результат вычисления возвращается из функции.
  10. В функции main происходит считывание размера массива n.
  11. Если n больше 15, то n присваивается 15.
  12. Если n больше нуля, то создается массив array типа double размером n.
  13. Считывается значение переменной x типа double.
  14. В цикле for с n переменной проходится по всем элементам массива array.
  15. Каждый элемент массива array считывается и сохраняется в соответствующую переменную типа double.
  16. Вычисляется и выводится коэффициент многочлена.
  17. Если n меньше или равно нулю, то выводится сообщение об ошибке и возвращается ноль.
  18. Функция main возвращает ноль.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы