Дан числовой ряд и некоторое число ε. Найти сумму тех членов ряда, модуль которых больше или равен заданному ε - C (СИ)

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

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

Подскажите,пожалуйста,в чем ошибка?
#include<stdio.h>
#include<math.h>
#include<locale.h>
main ()
{setlocale(LC_ALL,"rus");
double n=1.,sum1=0.,sum2=0.,eps;
printf("Введите заданное число:");
scanf("%f",&eps);
do
    {sum1=((n*n+3)*(n*n+3))/(pow(n,5)+pow(log(n),4));
     sum2=sum2+sum1;
     n=n+1;}
while (fabs(sum1)>=eps);
if (n==2) printf("Членов ряда,модуль которых больше или равен заданному числу,не существует");
else printf("Сумма членов ряда,модуль которых больше или равен заданному числу,равна:%f",sum2);}

Решение задачи: «Дан числовой ряд и некоторое число ε. Найти сумму тех членов ряда, модуль которых больше или равен заданному ε»

textual
Листинг программы
#include<stdio.h>
#include<math.h>
#include<locale.h>
main ()
{setlocale(LC_ALL,"rus");
double n=1.,sum1=0.,sum2=0.,eps;
int x=1;
printf("Введите заданное число:");
scanf("%f",&eps);
while (x)
     {sum1=((n*n+3)*(n*n+3))/(pow(n,5)+pow(log(n),4));
      if (fabs(sum1)>=eps)
          sum2=sum2+sum1;
      else continue;
      n++;}
if (sum2==0) printf("Членов ряда,модуль которых больше или равен заданному числу,не существует");
else printf("Сумма членов ряда,модуль которых больше или равен заданному числу,равна:%f",sum2);}

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

В этом коде:

  1. #include Включается файл стандартного ввода/вывода, который содержит функции для работы с консолью.
  2. #include Включается файл математических функций, который содержит функции для работы с числами.
  3. #include Включается файл локали, который позволяет работать с разными языками и культурами.
  4. main() Функция main() является точкой входа в программу.
  5. setlocale(LC_ALL, rus) Устанавливается русская локаль для работы с числами и датами.
  6. double n=1., sum1=0., sum2=0., eps; Объявляются переменные: n - счетчик для чисел в ряду, sum1 - сумма членов ряда, sum2 - сумма членов ряда, удовлетворяющих условию, eps - заданное число.
  7. int x=1; Объявляется переменная x - счетчик для проверки условия.
  8. printf(Введите заданное число:); Выводится запрос на ввод заданного числа.
  9. scanf(%f, &eps); Считывается введенное число в переменную eps.
  10. while (x) Начинается цикл, который будет выполняться до тех пор, пока условие истинно.
  11. *sum1=((nn+3)(nn+3))/(pow(n,5)+pow(log(n),4));** Вычисляется сумма члена ряда.
  12. if (fabs(sum1)>=eps) Проверяется условие, если модуль суммы больше или равен заданному числу.
  13. sum2=sum2+sum1; Если условие истинно, то сумма члена ряда добавляется к общей сумме.
  14. n++; Увеличивается значение переменной n.
  15. if (sum2==0) printf(Членов ряда, модуль которых больше или равен заданному числу, не существует); Если общая сумма равна нулю, выводится сообщение о том, что не существует членов ряда, удовлетворяющих условию.
  16. else printf(Сумма членов ряда, модуль которых больше или равен заданному числу, равна:%f, sum2); Если общая сумма не равна нулю, выводится сообщение с результатом.

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


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

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

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