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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2013, 16:14   #1
Spect
Новичок
Джуниор
 
Регистрация: 23.10.2013
Сообщений: 1
По умолчанию while и do while

Найти сумму ряда с точностью E , общий член которого равен a(n)=n^2*e^(-sqrt(n)).
Точность считается достигнутой, если следующий член последовательности
меньше заданного E .
E=эпсилон
e=экспонента

Помогите найти ошибку в программе, буду очень благодарен


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

using namespace std;

void main()
{
	setlocale(LC_ALL, "Russian");
        double e, E, An, Bn;
	double u=1, f=1;
	double sum1=0, sum2=0;
	cout << "\n\nTask 5.2.5 (1ый способ)\n";
	cout << "Введите точность Е:\t\t\t\t"; 
	cin >> E;
	An=u*u*exp(-1*pow(u,0.5));

	while (An>E)
	{
		sum1=sum1+An;
		u++;
		An=u*u*exp(-1*pow(u,0.5));
	}

	printf("Результат:\t\t\t\t\t%.10f",sum1);

    cout << "\n\nTask 5.2.5 (2ой способ)\n";
	cout << "Введите точность Е:\t\t\t\t"; 
	cin >> e;
	Bn=f*f*exp(-1*pow(f,0.5));
	
	do {
		sum2=sum2+Bn;
		f++;
		Bn=f*f*exp(-1*pow(f,0.5));
	} 
	while (Bn>e);

	printf("Результат:\t\t\t\t\t%.12f\n\n",sum2);

}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.10.2013 в 16:40.
Spect вне форума Ответить с цитированием
Ответ


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