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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2011, 20:32   #1
Алиса_
Новичок
Джуниор
 
Регистрация: 21.11.2011
Сообщений: 4
По умолчанию Рекуррентная форумла

Основной код вывела , а вот на рекуррентной формуле все остановилось ;( В интернете нигде нормальной информации не нашла как выводить... помогите
P.s если надо могу выложить
Изображения
Тип файла: jpg 111.jpg (10.6 Кб, 61 просмотров)
Алиса_ вне форума Ответить с цитированием
Старый 21.11.2011, 21:23   #2
Алиса_
Новичок
Джуниор
 
Регистрация: 21.11.2011
Сообщений: 4
По умолчанию

Код:
#include <iostream>
using namespace std;
#include <conio.h>

double countS_do_wh (double, double, double&);
double countS_while (double,double,double&);
double countS_for (double,double,double&);

void main(void)
{
	do
	{
		system ("cls");
		setlocale (LC_ALL,"rus");
		double x, eps, last_sl;
		do 
		{
			cout << "Введите x не равное 0\n";
			cin >> x;
		}while (!x);
		do
		{
			cout << "\nВведите eps из промежутка (0 ; 1]\n";
			cin >> eps;
		}while (eps<=0 || eps>1);
		int otv;
		cout << "\nВведите 1, если хотите решить задачу с помощью цикла For\n"
			 << "Введите 2, если хотите решить задачу с помощью цикла Do While\n"
			 << "Введите 3, если хотите решить задачу с помощью цикла While\n"
			 << "Введите 4, если хотите выйти из программы\n";
		cin>>otv;
		double s;
		switch (otv)
		{
			case 1: s = countS_for (x, eps, last_sl); break;
			case 2: s = countS_do_wh (x, eps, last_sl); break;
			case 3: s = countS_while (x, eps, last_sl); break;
			case 4: return;
		}
		cout << "\n\nСумма = " << s
			 << "\nПоследнее слагаемое, вошедшее в сумму = " << last_sl
			 << "\nНажмите любую кнопку для продолжения.";
		_getch();
	}while (1);
}
вот собственно main =(
Алиса_ вне форума Ответить с цитированием
Старый 21.11.2011, 22:33   #3
Ywko
 
Регистрация: 01.09.2011
Сообщений: 5
По умолчанию

http://programmersforum.ru/showthread.php?t=167059
Ywko вне форума Ответить с цитированием
Старый 21.11.2011, 23:27   #4
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

Вот двумя вариантами. (второй вариант проще реализовать програмно, первый проще обьяснить преподу) (только на всякий случай перепроверте вычисления)
Ai_1.jpg
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."

Последний раз редактировалось val_nnm; 21.11.2011 в 23:34.
val_nnm вне форума Ответить с цитированием
Старый 21.11.2011, 23:39   #5
Алиса_
Новичок
Джуниор
 
Регистрация: 21.11.2011
Сообщений: 4
По умолчанию

спасибо буду разбираться =)
Алиса_ вне форума Ответить с цитированием
Старый 22.11.2011, 00:06   #6
Алиса_
Новичок
Джуниор
 
Регистрация: 21.11.2011
Сообщений: 4
По умолчанию

сделала немного по другому но все получается)
если кому интересно
Код:
#include <math.h>
double countS_while (double x,double eps,double& last_sl)
{
	double sl = x, s = 0, chis, znam; 
	int znak = -1;
	int k = 1;
	last_sl = 0;
	while (abs(sl)>=eps)
	{	
		s += sl;
		last_sl = sl;			 // запоминаем последнее слагаемое, вошедшее в сумму
		chis = znak*x*x*(2*k-1); // формируем числитель
		znam = (k+1)*(2*k+1);	 // формируем знаменатель
		sl = sl*chis/znam;		 // формируем новое слагаемое
		k++;
	}
	return s;
}
Алиса_ вне форума Ответить с цитированием
Старый 22.11.2011, 01:03   #7
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Алиса_ Посмотреть сообщение
... но все получается) ...
Блажен, кто верует!..

Цитата:
Сообщение от Алиса_;
Код:
           ...
	while (abs(sl)>=eps)
	{
                      ...
		k++;
	}	
           ...
Отладчиком по циклу не пытались пройтись?...Или хотя бы значение k на выходе распечатать?.. А задуматься, почему оно, при любом eps, всегда равно 2 ?..
Vago вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекуррентная формула unbanned Паскаль, Turbo Pascal, PascalABC.NET 5 18.12.2010 09:23
Рекуррентная формула Russik Помощь студентам 1 14.12.2010 09:41
Рекуррентная формула Максикок Помощь студентам 3 13.10.2010 15:03
Рекуррентная формула Paradoxer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 05.06.2009 20:14
рекуррентная формула redisque Паскаль, Turbo Pascal, PascalABC.NET 2 06.05.2009 21:08