Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2013, 12:19   #1
Tepk111
 
Регистрация: 25.11.2013
Сообщений: 4
По умолчанию Поправьте/допишите код

Собственно вот условие задачи:
Составить программу и вычислить сумму ряда с точностью e=pow(10,-3), e=pow(10,-6), e=pow(10,-9). Сравнить число итераций для каждого из этих случаев.



Вот мой код: #include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
void main ()
{
float k=0,n,S1,x,S,p,f=1;
printf("Enter x= ");
scanf("%f", &x);
S=0.0;
n=1; //nachal`noe dlya vichisleniya ryada chlena
while (S>e)
{
for (k=0; k<=n; k++)
S+=pow(1.0,k)*(-1.0)*sin(2.0*k+1.0)*x/2.0*k+1.0; //сама фу-я
n++;
}
cout<<"S="<<S<<endl;
f=1;
while (S>=0)
{
f*=-x*x*(2*k+1)/(2*k*k+5*k+1); // формула Dalamber для вычисления итераций
if (f>e) cout<<"The end"<<endl;
else S+=f;
k++;
}
cout<<"S="<<S<<endl;
cout<<"chislo iteraciy ="<<k;
p=3.14;
if ((x>0.0)&&(x<p/2.0))
S1=0.5*log(tan(x/2.0+p/4.0));
cout<<S1<<endl;
if (S=S1) cout<<"true"<<endl; //сравнение
else cout<<"banan";
getch();
clrscr();
}
Tepk111 вне форума Ответить с цитированием
Старый 03.12.2013, 12:33   #2
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Во-первых, вместо float используй double.
Во-вторых, переменные k, n должны быть целочисленными.
В-третьих алгоритм такой:
- вводится x;
- вводится e;
- вычисляется S1 по простой формуле;
- вычисляем S по итерационной формуле до тех пор, пока abs(S1-S) > e,
в процессе вычисления подсчитываем количество итераций k;
- для заданного e и x, получено количество итераций;
- вычисляем количество для других значений e;
В-четвертых, значение pi есть в math.h, намного более точное.
nikmoon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поправьте html код fun_time Помощь студентам 4 26.02.2013 22:13
Поправьте код на С Экзорцист Общие вопросы C/C++ 1 17.12.2010 18:31
Поправьте код!!! Klim Bassenger Microsoft Office Excel 15 27.05.2009 15:24
Поправьте код! Klim Bassenger Microsoft Office Excel 1 10.04.2009 15:46