Получить выражение равное интегралу - 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);

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

  1. Объявлены переменные: — i, j — счётчики; — n — количество элементов многочлена; — arr — указатель на массив структур; — xa — массив переменных; — s — переменная для хранения суммы;
  2. Выполняется вход в функцию main().
  3. Устанавливается локальная настройка вывода в консоль на русском языке.
  4. Выводится сообщение Количество элементов многочлена: и ожидается ввод количества элементов многочлена.
  5. Выделяется память под массив структур arr с помощью функции malloc().
  6. В цикле for происходит заполнение массива структур arr. — Выводится сообщение Коэффициент и степень через пробел: и ожидается ввод коэффициента и степени. — Коэффициент делится на степень.
  7. В цикле for происходит вывод выражений многочлена.
  8. Выводится сообщение x и a через пробел: и ожидается ввод значений xa.
  9. Переменная s инициализируется нулём.
  10. В двойном цикле for происходит вычисление значения интеграла.
  11. Выводится значение интеграла.
  12. Выполняется выход из функции main().
  13. Освобождается память, выделенная под массив структур arr, с помощью функции free().

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

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