Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нахождение рядов 
:(
    Опции темы
Syltan
Дата 4.5.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



Код
double main()
{
long k;
double an,s, eps;
an=-1;
s=0;
k=0;
cin>>eps;
while(fabs(an)>eps);
{
s=s+an;
an=an*(2*k+1)/(4*k-2);
k++;
}
cout<<s;
getch();
}


Этот алгоритм решает сумму вот такого ряда.

Объясните этот алгоритм решения. Меня смущает также вот эта строка:
an=-1;
и эта:
an=an*(2*k+1)/(4*k-2);
PM MAIL   Вверх
toxx
Дата 4.5.2010, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



Код

double main()
{
long k;
double an,s, eps;
an=-1;
s=0;
k=0;
cin>>eps;
while(fabs(an)>eps);
{
s=s+an;
an=an*(2*k+1)/(4*k-2);
k++;
}
cout<<s;
getch();
}

А код рабочий?как минимум 3 ошибки думаю показать должен..
PM MAIL   Вверх
Syltan
Дата 4.5.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



Объясните пожалуйста этот код, желательно подробней.
PM MAIL   Вверх
toxx
Дата 4.5.2010, 19:45 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



Syltan
зачем его объяснять если он нерабочий?
PM MAIL   Вверх
Syltan
Дата 4.5.2010, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: -1
Всего: -2



Скажите, а так правильно будет?
Код

#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
double start;
double eps;
double n;
double last;
 
cout << "enter start count: ";
cin >> start;
cout << endl << "enter epsilon: ";
cin >> eps;
 
n = 1;
 
do
{
last = start;
start = last + (2 * n - 1) / pow(2,n);
n++;
}
while (fabs(start - last) >= eps);
 
cout << endl << "result = " << start;
 
cin.get();
return 0;
}
 


PM MAIL   Вверх
toxx
Дата 4.5.2010, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



инициализировать так нужно т.к. тип double
Код

n = 1.0;

start = last + (2 .0* n - 1.0) / pow(2.0,n);

кст почему тип double выбрали а не float? 

а насчет правильности вам виднее, если подставите и получиться что нужно правильно сделали, если нет, то понятно что неверно сделали =)

Это сообщение отредактировал(а) toxx - 4.5.2010, 23:37
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.