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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 15:40   #1
recordd
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 4
По умолчанию ряды в С++

Помогите вычислить ряд:
S=4*(1-(1/3)+(1/5)-(1/7)+...-(1/n))
recordd вне форума Ответить с цитированием
Старый 08.12.2012, 15:48   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,760
По умолчанию

Ряды не вычесляют...
p51x вне форума Ответить с цитированием
Старый 08.12.2012, 15:56   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Помогите вычислить ряд:
Не вопрос. Рассказывайте, в чём у Вас проблема.
Abstraction вне форума Ответить с цитированием
Старый 08.12.2012, 15:56   #4
recordd
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ряды не вычесляют...
вычисляются, только ответ не совпадает с тем если посчитать вручную допустим два слагаемых

pi=4*(1-(1/3)+(1/5)-(1/7)+...-(1/n))

int n, k, znak=1;
float pi=0;
cout << "введите число слогаемых: ";
cin >> n;
for (k=1; k<=n; k+=2)

pi= pi+(znak*(4*(1/k)));
znak=-znak;

cout << "число пи равно " << pi << endl;
recordd вне форума Ответить с цитированием
Старый 08.12.2012, 16:01   #5
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

pi= pi+(znak*(4*(1.0/k)));

Без этого у Вас происходит целочисленное деление.
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 08.12.2012, 16:03   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

0) Код оформляется тегом CODE.

1) 1/k при k типа int равно 1, если k=1 и 0, если k>1. Вы уверены, что это желаемый эффект? Если нет, либо поменяйте тип k, либо пишите 1.0/k.
Abstraction вне форума Ответить с цитированием
Старый 08.12.2012, 16:05   #7
recordd
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Не вопрос. Рассказывайте, в чём у Вас проблема.
допустим я запсиал в цикл этот ряд:
for (k=1; k<=n; k+=2) , где n это количество слогаемых которые будут вычисляться.
проблема с выводом формулы для этого ряда:
pi= pi+(1/k); дело в том что знак меняется в числовом ряде сначала минус а потом плюс:

pi=4*(1-(1/3)+(1/5)-(1/7)+...-(1/n))
recordd вне форума Ответить с цитированием
Старый 08.12.2012, 16:18   #8
recordd
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Granus Посмотреть сообщение
pi= pi+(znak*(4*(1.0/k)));

Без этого у Вас происходит целочисленное деление.
Спасибо теперь нашел ошибку)
recordd вне форума Ответить с цитированием
Старый 08.12.2012, 16:31   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,760
По умолчанию

Цитата:
вычисляются
Нет. Вычисляются только частичные суммы. Ряды нет.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ряды Foxx Microsoft Office Excel 2 14.02.2012 13:21
Ряды в С++ L_A_R Общие вопросы C/C++ 3 30.12.2010 11:44
ряды alexy Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2010 17:22
Си,ряды acko Помощь студентам 0 21.11.2010 05:46