• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите найти ошибки. Си++

  • Автор темы Автор темы Gerald
  • Дата начала Дата начала

Gerald

Новые
Регистрация
26 Мар 2011
Сообщения
25
Реакции
0
Баллы
0
Помогите найти ошибки. Си++

Необходимо расчитать значение числового ряда:Сумма(от n=1 до бесконечности) 1/((2n-1)*(2n+1)) =1/2 -->(значение стремится к 0.5)
И вычислить относительную и абсолютную погрешность.
Вот моя наработка:

Код:
#include "stdafx.h"
#include "iostream"
#include "conio.h" 
//Подключение библиотек
using namespace std;

int _tmain()
{
	//Инициализация:
	int n;
	double sum=0,m=0,absol=0,relat;
	//Ввод:
	cout<<"Vvedite n: ";
	cin>>n;
	cout<<"\n";
	//Расчитываем значение ряда:
	for(int i=1;i<=n;++i)
	{
		m=i;
		sum=sum+(1/((2*m-1)*(2*m+1)));
	}
	//Вычисляем погрешности:
	absol=0.5-sum;
	relat=(0.5-sum)/sum;
	//Вывод:
	cout<<"Sum="<<sum<<"\n";
	cout<<"Absol="<<absol<<"\n";
	cout<<"Otnos="<<relat<<"\n";

	getch();
	return 0;
}
Все хорошо вот только неправильно вычисляет абсолютную погрешность при n>5000 и т.д. Найдите пожалуйста ошибку. Заранее спасибо!
 
for(int i=1;i<=n;++i)
а ты уверен что тут правильно порядок задал ?
 
Назад
Сверху