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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 06.11.2012, 09:00   #1
Tatyana64
Пользователь
 
Регистрация: 30.10.2012
Сообщений: 37
По умолчанию Не считает количество членов ряда

Помогите найти ошибку.
Программа неправильно считает количество просуммированных членов ряда. Что только я не пробовала.
у меня
1
4
8
14
21
30
43
60
86
136
должно быть
1
4
5
7
8
10
14
18
27
51
Код программы
Код:
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <math.h>

using namespace std;
 
int main () {
        cout.precision(4);
		const int MaxIter=500;
		double Xn, Xk, dX, eps;
		cin >> Xn >> Xk >> dX >> eps;
                double z;
 for (double x=Xn; x<=Xk; x+=dX) 
 { 
	                           //Пробуем различные x
                double y=x,ch=x,n=1,kol=0,k=x;
	                           //Сумма ряда, номер шага, x в степени n
  do {
             z=log(1-x);  //Точное значение суммы ряда
                                  //вычисляем очередной член ряда
	     k=(n/(n+1))*x;
	     ch=ch*k;
             y+=ch; //Формула накопления суммы ряда
             n++; //Увеличиваем номер шага на 1
	    kol++;//Считаем количество просуммированных элементов ряда 
  } 
  while (fabs(ch)>eps && n<MaxIter); //Пока не достигнута точность eps или не сделано 500 шагов цикла
        y=-y;
	cout << x <<"   "<< y <<"   "<< kol <<"   "<< z << endl;
  }
 system ("PAUSE");
 return 0;
    }
Подскажите пожалуйста в чем причина.
Tatyana64 вне форума
Старый 06.11.2012, 11:11   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

напишите сперва условие... что и как оно должно считать... и какого ряда... дабы понять где кроется ошибка...
пишу код не только за печеньки
VIK_aka_TOR вне форума
Старый 06.11.2012, 11:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кросспост.
http://www.programmersforum.ru/showthread.php?t=216671
I'm learning to live...
Stilet вне форума
Закрытая тема


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение суммы членов ряда vinci Общие вопросы C/C++ 0 16.03.2012 13:49
найти сумму членов ряда с точностью ε для заданного х и их количество (Паскаль) gylayko Помощь студентам 0 12.10.2011 16:50
Сумма членов бесконечного ряда TheFaster Помощь студентам 3 10.05.2011 17:06
вычисление суммы членов ряда...(с++) DiLemma Помощь студентам 0 20.04.2010 18:25
TP задача на сумму членов ряда gomz007 Помощь студентам 6 14.12.2009 19:15