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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2013, 23:38   #1
BaTpyXaaa
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 40
По умолчанию c++ while return

Задание:Вводится точность e. Вычислить сумму ряда 1-1/3+1/5-1/7.... сумма Вычисления продолжать до тех пор, пока очередное слагаемое не станет меньше e. Вывести рядом пи\4 и сравнить с полученной суммой.

Наработки:

"x<=1" болжен быть меньше. Спросить "e" .Начать складывать по формуле.
Если очередное слагаемое меньше "e" , то прерывается сложение и выдаться сумма.

Помогите с код, вот мой код.

Код:
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
   double sum = 0., x, e, res;
   int n = 1;
   double p =3,14;
   
   cout<<("Enter x:")<<endl;
   cin>>x;
   
   if (fabs(x) <= 1.0)
   {
 cout<<("x must be |x|>1");
      
 return 1;
   }
   cout<<("Enter e:")<<endl;;
   cin>>e;
   res = p\4;
   while (fabs(res) > e)
   {
      sum += res;
      res *= 1-1/3+1/5-1/7;
      n++;
   }
   sum *= 2;
   cout<<("Answer=")<<sum<<endl;
   system("pause");
   return 0;
}
Можете помочь исправить код.
Помогите я в ступоре что делать?
BaTpyXaaa вне форума Ответить с цитированием
Старый 30.11.2013, 02:07   #2
nidaime
Пользователь
 
Регистрация: 28.11.2011
Сообщений: 26
По умолчанию

Что-то не не совсем понятно ваше решение, зачем вводить x (что за переменная ) ?
А это что такое ?
Код:
res *= 1-1/3+1/5-1/7;
У вас сумма а не произведение каких-то слагаемых
nidaime вне форума Ответить с цитированием
Старый 30.11.2013, 02:59   #3
nidaime
Пользователь
 
Регистрация: 28.11.2011
Сообщений: 26
По умолчанию

Код:
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
   double sum = 0, x = 1, e, res;
   int n = 0;
   double p =3.14;
   int z =1;
   cout<<("Enter e:")<<endl;;
   cin>>e;
   res = p/4.0;
   sum = 1;
   while (fabs(x) > e)
   {
	   x = 1.0/(3 + n);
	   z = -z;
      sum = sum + z*x;
	  n = n + 2;
   }
   cout<< "Answer=" << sum <<endl;
   cout << "res = " << res << endl;
   system("pause");
   return 0;
}
nidaime вне форума Ответить с цитированием
Старый 30.11.2013, 03:57   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вот, еще короче
Код:
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;

int main()
{   int i=1;
    double sum=1,t=1,e;
    cout<<("Enter e:")<<endl;
    cin>>e;
    while ((1/t) > e)   // t всегда > 0
	{
		t+=2;
		i=-i;
		sum+=i/t;
	} 
    cout<< sum <<endl;
    cout<< M_PI/4 <<endl;  // M_PI - это число пи, определено в math.h 
    return 0; 
}
type_Oleg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
return ZoomHz Общие вопросы C/C++ 3 10.07.2011 21:02
java [return] monogramm Общие вопросы по Java, Java SE, Kotlin 1 27.05.2011 10:49
Return(void) tools Visual C++ 5 22.12.2010 12:19
Непонятки с return CodeNOT Общие вопросы C/C++ 2 03.12.2010 23:56
Вопрос по return fs444 Общие вопросы C/C++ 9 20.03.2010 15:07