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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2012, 01:45   #1
JAKS
Пользователь
 
Регистрация: 19.10.2012
Сообщений: 13
По умолчанию Намучился с задачей в С++, нужна ваша подсказака

Ввести вещественное число N>=2. Найти сумму ряда 1/(1*2) +1/(2*3) + …+ 1/((N-1)*N) с точностью 0,005
JAKS вне форума Ответить с цитированием
Старый 28.10.2012, 10:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предположу что так:
Код:
double a[2],s=0;
a[0]=1/(1*2);a[1]=1/(2*3);
s=a[0]+a[1];
for(int i=3;a[1]-a[0]<0.005;i++){
 a[0]=a[1];
 a[1]=1/(i*(i+1));
 s+=a[1];
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 12:32   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Предположу что так:
Код:
double a[2],s=0;
a[0]=1/(1*2);a[1]=1/(2*3);
s=a[0]+a[1];
for(int i=3;a[1]-a[0]<0.005;i++){
 a[0]=a[1];
 a[1]=1/(i*(i+1));
 s+=a[1];
}
Условие выхода из цикла неверное. Раз уж ряд конечный, проще дойти до конца. Если хочется прерваться, надо замерять разность между накопленной суммой и результатом аналитического суммирования. Гм... может, тогда проще написать
Код:
return 1.0-1.0/N;
и не париться?
Abstraction вне форума Ответить с цитированием
Старый 28.10.2012, 12:44   #4
RocBoy-D
Пользователь
 
Регистрация: 10.03.2012
Сообщений: 10
По умолчанию

нужно взять сумму первых 13-ти слагаемых, так как 14-ый равен 0,004. Следовательно, ошибка не превосходит первого отброшенного.
RocBoy-D вне форума Ответить с цитированием
Старый 28.10.2012, 12:45   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от RocBoy-D Посмотреть сообщение
нужно взять сумму первых 13-ти слагаемых, так как 14-ый равен 0,004. Следовательно, ошибка не превосходит первого отброшенного.
Неправда. Найдите сумму 1+1/2+1/3+1/4+... с точностью 0.001, следуя такой логике.
Abstraction вне форума Ответить с цитированием
Старый 28.10.2012, 13:05   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Раз уж ряд конечный
Как это? Я кол-во элементов же заранее не знаю
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 15:24   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Как это? Я кол-во элементов же заранее не знаю
Код:
for(int i=3; i<N; ++i)
Abstraction вне форума Ответить с цитированием
Старый 28.10.2012, 15:29   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да, согласен, недосмотрел, и критерий с точностью 0,005 сбил с толку. Думал это критерий остановки, а получается это точности вывода результата, раз граничное значение определено.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.10.2012, 21:26   #9
JAKS
Пользователь
 
Регистрация: 19.10.2012
Сообщений: 13
По умолчанию

Народ, пардон, но можно полное решение\код? Прост эт лабораторная девушки, а я хочу ей помочь. Сам я не программист.)
JAKS вне форума Ответить с цитированием
Старый 29.10.2012, 21:50   #10
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

К примеру, девушка может зайти на сайт самостоятельно. Особенно если она предполагается сейчас или в будущем программистом.
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна ваша помош. mela Помощь студентам 1 06.05.2009 09:12
нужна ваша помощь! forsy Паскаль, Turbo Pascal, PascalABC.NET 2 19.05.2008 14:38