В чём ошибка? - C (СИ) (154114)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define precision 1e-7
  4. while (x <= b){
  5. s = 0;
  6. for (k = 0; k <= n; k++)
  7. {
  8. rez = 1;
  9. for (i = 1; i<= k; i++)
  10. rez *= i;
  11. s += (cos(k*Pi / 4)/rez)*pow(x,k);
  12. }
  13. double s(double * x) {
  14. int n = 1;
  15. double sum, tmp;
  16. sum = *x;
  17. double u1;
  18. do {
  19. u1 = exp(x*cos(Pi / 4);
  20. tmp = cos(x*sin(Pi / 4))*u1;
  21. n++;
  22. sum += tmp;
  23. } while (fabs(tmp) > precision);
  24. // printf("n=%i tmp=%10.8f\n", n, tmp);
  25. return sum;
  26. }
  27. int main() {
  28. double a = 0.1;
  29. double b = 0.8;
  30. double h = 0.1;
  31. do {
  32. printf("x=%3.1f Y=%10.4f S=%10.4f\n", a, y(a), s(&a));
  33. a += h;
  34. } while (a<=b);
  35. return 0;
  36. }
Нужно вычислить текущие значения Y(x) и S(x) (где x принадлежит диапазону [a, b])реализовать в виде отдельных функций. S(x)=(cos(k*Pi / 4)/!4)*pow(x,k)

Решение задачи: «В чём ошибка?»

textual
Листинг программы
  1. int factorial (int n)
  2.      {
  3.          int f=1,i;
  4.          for(i=2;i<=n;++i)
  5.          {
  6.              f=f*i;
  7.          }
  8.          return f;
  9.      }

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

  1. В функции factorial объявлены две переменные: f и i.
  2. Переменная f инициализируется значением 1.
  3. Переменная i не инициализируется и будет использоваться как счётчик в цикле.
  4. Цикл for начинается с i=2 и продолжается до тех пор, пока i меньше или равно n.
  5. Внутри цикла f умножается на i.
  6. После завершения цикла f возвращается из функции.
  7. Если вызвать функцию factorial с аргументом, она вернёт факториал этого числа.
  8. В данном коде нет проверок на входные данные, поэтому предполагается, что аргумент всегда будет неотрицательным целым числом.

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


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

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

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы