Написать на языке C++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью - C (СИ)

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

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

Ребят помогите пожалуйста. Написать на языке СИ++ Составить программу вычисления функции, представленной бесконечным ря- дом, с точностью до четырех знаков после запятой. Программу оформить в виде функции языка С. Составить программу, которая рассчитывает таблицу значений этой функции в указанном диапазоне значений x0 — xk с заданным шагом h. Величины x0, xk, h вводить с клавиатуры
Листинг программы
  1. #pragma warning(disable:4996) // отключение данного предупреждения позволяет использовать функцию fopen
  2. #include <stdio.h>
  3. int main()
  4. {
  5. float S, a, eps, x0, xk, h; // обЪявление переменных
  6. short int n;
  7. n = 0; //здесь будет счетчик. Номер члена ряда.
  8. S = 0; // здесь будет считаться сумма бесконечно ряда.
  9. eps = 0.0001; //точность
  10. a = 1; // переменная для подсчета членов ряда по рекуррентному соотношению
  11. scanf_s("%f",&x0); // начальная точка
  12. scanf_s("%f",&xk); // конечная точка
  13. scanf_s("%f",&h); // шаг (инкремент)
  14. FILE *stream; // дескриптор файла
  15. stream = fopen("result.txt", "a+"); // создание файла, в который буду записываться рез-ты работы программы.
  16. do // Этот цикл с постусловием нужен для получения множества значений функции, соответсвующих данным аргументам.
  17. { // Он будет выполняться, пока х0 не станет равно хk.
  18. do // Цикл внутри нужен для вычисления сумма слагаемых бесконечного ряда при данном х0
  19. { S = S + a; // сумма слагаемых
  20. n= n+1; // счетчик номера члена ряда
  21. a=(a*2*n*x0*x0) / ((2*n + 1)*(1 + x0*x0)); // вычисление следующего члена ряда по рекуррентной формуле,
  22. } while (a >= eps); // пока он не станет меньше требуемой точности.
  23. S = (S*x0) / (x0*x0 + 1); // значение самой функции в этой точке: (сумма бесконечного ряда)*(член перед ним)
  24. printf_s("%f ", x0); // вывод аргумента функции на консоль
  25. printf_s("%f \n", S); // вывод значения функции на консоль
  26. if (stream != NULL) // обеспечение записи аргумента и значения функции в файл
  27. {
  28. fprintf(stream, "%f ", x0); // аргумент
  29. fprintf(stream, "%f \n", S); // значение функции
  30. }
  31. S = 0;
  32. n = 0; // подготовка к новому прохождению цикла с измененным x0. S можно обнулять, так как эта переменная уже выведена
  33. a = 1;
  34. x0=x0+h; // добавление к х0 указанного шага.
  35. } while (x0<= xk); // проверка условия на выход цикла.
  36. scanf_s("%f", &xk); // запрос на ввод символа, чтобы сразу после выполнения команды консоль не закрывалась.
  37. return 0;
  38. }
Вот примерный фундамент, но эта программа не идет у меня на компьютере и поменять просто значения не получается... Помогите пожалуйста

Решение задачи: «Написать на языке C++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью»

textual
Листинг программы
  1. if ((fd = fopen("data.txt", "a+")) == NULL) { printf("Holly-molly\n"); exit(0);} do{} while()

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

  1. Открывается файл data.txt в режиме добавления a+ с помощью функции fopen.
  2. Проверяется успешность открытия файла, если файл не открылся, выводится сообщение об ошибке и программа завершается.
  3. Запускается бесконечный цикл do-while, который будет выполняться до тех пор, пока не произойдет переход в следующую итерацию с помощью оператора break.

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


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

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

12   голосов , оценка 3.917 из 5

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

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

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