Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.03.2010, 18:38
Новичок

Отправить личное сообщение для Shtolz Посмотреть профиль Найти все сообщения от Shtolz
 
Регистрация: 27.03.2010
Сообщений: 5

вычисление с точностью
люди добрые помогите нужно посчитать сумму ряда
S=A1..An; A1=1; An=An-1 * (x^n)/(n-1)
x принадлежит интервалу [1..5]
вычисление должно производится с точностью до 0.001 т.е. abs(An-1-An)>=0.001
в итоге должна получится таблица из 2 столбцов x и S
примерно вот так
x S
1 сума ряда
2 сума ряда
.
.
5
вот что получилось но почему то не работает

Код:
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <math.h>

void main()
{
int n;
float aCur=0,aNext,S;
for (int x=1; x<5; x++)
	{
	S=1; aNext=1; n=1;
	while (abs(aCur-aNext) >= 0,001)
		  {
		  n++;
		  aCur=aNext;
		  aNext=aCur*(pow((float) x,n)/(n-1));
		  S=S+aNext;
		  }
	std::cout << x <<"-" << S <<std::endl;
	}	
}

во время отладки почему то условие в цикле while всегда истинное
  #2  
Старый 27.03.2010, 18:48
гость

 
Сообщений: n/a

так у вас ряд же расходящийся (ну как минимум при x>=2), т.е. с бесконечным пределом.

тебе надо применить какой-нибудь критерий сходимости, и вычислить для начале для каких x он сходится. (ключевое слово - "радиус сходимости" для гугля). Для x не в этом интервале смысла считать ряд нет.
  #3  
Старый 27.03.2010, 19:17
Новичок

Отправить личное сообщение для Shtolz Посмотреть профиль Найти все сообщения от Shtolz
 
Регистрация: 27.03.2010
Сообщений: 5

дак у меня даже для x=1 не считает хотя должен условие
abs(aCur-aNext) >= 0,001 всегда true хотя после 9 проходов цикла while должен быть false
  #4  
Старый 27.03.2010, 19:23
гость

 
Сообщений: n/a

хорошо, посмотрел код.

#include "stdafx.h" - к чертовой матери!
void main - тоже нахер. main must return int,

"while (abs(aCur-aNext) >= 0,001)" - у вас тут запятая вместо точки
  #5  
Старый 27.03.2010, 19:34
Новичок

Отправить личное сообщение для Shtolz Посмотреть профиль Найти все сообщения от Shtolz
 
Регистрация: 27.03.2010
Сообщений: 5

глупо получилось =(( спасибо большое
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление факториала ;) _persicum_ Математические алгоритмы 14 11.11.2010 01:55
Вычисление exp гость Математические алгоритмы 3 26.01.2010 17:54
Вычисление объема пАвеллл Вычислительная геометрия 3 27.04.2009 15:47
Вычисление выражений Andrew Математические алгоритмы 1 27.08.2007 00:45
корень квадратный с большой точностью Mystic Математические алгоритмы 27 13.02.2007 01:35