Найти сумму тех членов ряда, модуль которых больше или равен заданному е - C (СИ)
Формулировка задачи:
Даны числовой ряд и некоторое число е. Найти сумму тех членов ряда, модуль которых больше или равен заданному е. Общий член ряда имеет вид:
http://www.cyberforum.ru/attachment....1&d=1373540715
Вот что у меня получилось, но тут ошибка:
#include <iostream>
#include<math.h>
#include<conio.h>
using namespace std;
int main()
{
double e;
cin>>e;
double a, s=0;
int i=1;
a=1/(3*1-2)*(3*1+1);
cout<<"a="<<a;
while (a>=e)
{
a=1/(3*i-2)*(3*i+1);
cout<<"a="<<a;
s+=a;
i++;
cout<<"\ns="<<s;
}
cout<<"\ns="<<s;
getch();
}#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
double e;
scanf("%i",&e);
double a, s=0;
int i=1;
a=1/(3*1-2)*(3*1+1);
printf("a=",&a);
while (a>=e)
{
a=1/(3*i-2)*(3*i+1);
printf("a=",&a);
s+=a;
i++;
printf("\ns=",&s);
}
printf("\ns=",&s);
getch();
}Решение задачи: «Найти сумму тех членов ряда, модуль которых больше или равен заданному е»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
double e, a, s=0;
int i=1;
scanf("%f",&e);
a=1/(3*1-2)*(3*1+1);
printf("a=%1.f\n",a);
while (a>=e)
{
a=1/(3*i-2)*(3*i+1);
printf("a=%.1f\n",a);
s+=a;
i++;
printf("s=%1.f\n",s);
}
printf("s=%.1f\n",s);
getch();
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные: e (число), a (число), s (число), i (целое число).
- Программа запрашивает у пользователя число e.
- Вычисляется значение переменной a по формуле a = 1 / (31-2)(3*1+1).
- Выводится значение переменной a.
- Запускается цикл while, который выполняется до тех пор, пока значение переменной a больше или равно e.
- Внутри цикла вычисляется новое значение переменной a по формуле a = 1 / (3i-2)(3*i+1).
- Выводится новое значение переменной a.
- К переменной s прибавляется новое значение переменной a.
- Увеличивается значение переменной i.
- Выводится текущее значение переменной s.
- По завершении цикла выводится итоговое значение переменной s.
- Программа ожидает нажатия клавиши для выхода.