Вычислить сумму бесконечного ряда с заданной точностью - C (СИ)
Формулировка задачи:
Вычислить сумму бесконечного ряда:
S=1/2-1/4+1/8-1/16
вот такой вот ряд.....
В этом коде работает только 1 пункт, где подсчитывает сумму ряда с заданным кол-ом членов.
А вот с точностью проблемы....сам код какой то странный....я писал писал...и ничего не выходит((((
#include "stdafx.h" #include "conio.h" #include "stdio.h" #include "stdlib.h" #include "locale.h" void main() {setlocale(LC_ALL,"Rus"); float n,s=0,m,t,temp=0,T,i=2; int q; printf("Вычисление бесконечного ряда:\n[1] Для указанного количества членов ряда\n[2] С заданной точностью\n"); scanf("%i",&q); if(q==1) { printf("Введите количество членов ряда: "); scanf("%f",&m); for(n=0;n<m;n++) { s=s+(1/(i)); i=(i+2)*(-1); } printf("Сумма равна: %f\n",s); } else if(q==2) { printf("Введите точность: "); scanf("%f",&t); do { temp=s; s=s+(1/(i)); T=abs(temp-s); printf("сумма: %f \n",s); i+=2*(-1); } while(T>t); } getch(); }
Вот эту часть надо сделать.....вот не считает правильно и всё((((
короче, тут введя любую точность он всё время выводит одну и тужу сумму=)
#include "stdafx.h" #include "conio.h" #include "stdio.h" #include "stdlib.h" #include "locale.h" void main() {setlocale(LC_ALL,"Rus"); float n,s=0,m,t,temp=0,T,i=2; printf("Введите точность: "); scanf("%f",&t); do { temp=s; s=s+(1/(i)); T=abs(temp-s); printf("сумма: %f \n",s); i+=2*(-1); } while(T>t); getch(); }
Решение задачи: «Вычислить сумму бесконечного ряда с заданной точностью»
textual
Листинг программы
double s = 0; double t = 0.5; /*текущее слагаемое*/ double eps; printf( "eps = ? " ); scanf( "%f", &eps ); while( fabs(t) > eps ) { s += t; t *= -0.5; } printf( "\nsum = %f\n", s ); /*точное значение - сумма геометрической прогрессии, школьная формула, вычислить и сравнить*/
Объяснение кода листинга программы
- Объявляются переменные: s (сумма), t (текущее слагаемое), eps (точность).
- Пользователю предлагается ввести значение точности с помощью функции scanf.
- В цикле while с помощью функции fabs проверяется, больше ли абсолютное значение текущего слагаемого заданной точности.
- Если условие выполняется, то текущее слагаемое прибавляется к сумме, а затем переменная t умножается на -0.5.
- После выхода из цикла, с помощью функции printf выводится точное значение суммы геометрической прогрессии.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д