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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2012, 13:47   #1
zink
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 36
По умолчанию Почему программа выдает такой результат?

Задача на табулирование функции:


Вычислить и вывести на экран таблицу функции y=f(x) в интервале [a,b] с шагом h. Результаты представить в виде таблицы:




Таблицу выровнять с помощью функций форматирования cout.width(), cout.precision().

Почему моя программа при x=0 выдает такие значения?
Код:
#include "stdafx.h"
#include <iostream>;
#include <math.h>;
#include "conio.h"
using namespace std;

void main(){
double x,y;
x=-0.5;
cout.fill(' ');
cout<< "      x         y\n\n";
while (x<=0.5)
{
	
	if (x>=0) 
		y=pow(exp(x)-1,0.5);
	else 
		y=-pow(x,2);

	cout.width(8); cout.precision(2);
    cout<< x;
    cout.width(10); cout.precision(2);
    cout<< y<< '\n';
	
	x=x+0.1;
}
getch();
}
http://programmersforum.ru/attachmen...1&d=1329140733
Изображения
Тип файла: jpg 1.jpg (26.7 Кб, 141 просмотров)
zink вне форума Ответить с цитированием
Старый 13.02.2012, 15:58   #2
MrCold
Пользователь
 
Регистрация: 23.12.2011
Сообщений: 17
По умолчанию

zink -2.8e-017 все во лишь способ экспоненциальной записи.
Т.е. вместо -0.00....000028 результат : -2.8e-017.
А значит результат правильный.
MrCold вне форума Ответить с цитированием
Старый 13.02.2012, 17:54   #3
zink
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 36
По умолчанию

Цитата:
Сообщение от MrCold Посмотреть сообщение
zink -2.8e-017 все во лишь способ экспоненциальной записи.
Т.е. вместо -0.00....000028 результат : -2.8e-017.
А значит результат правильный.
Но ведь
sqrt((e^0)-1) это ноль, или меня не правильно учили в школе ?=)
Sqrt(1-1)=0

Может это компилятор развлекается?
zink вне форума Ответить с цитированием
Старый 13.02.2012, 17:55   #4
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Возможно, точности не хватает, и x!=0.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему сумма выдает неверный результат? KNatalia Microsoft Office Excel 4 26.05.2010 14:50
почему такой результат? True_girl Помощь студентам 3 17.04.2010 21:14
результат выдает -Nan- Тонущий коржик Помощь студентам 2 25.11.2009 23:28
Почему выдаёт такой результат??? bloodeagle Помощь студентам 1 12.11.2009 08:21
Почему не выдает результат записи. Ну или бы хотя бы ошибку какую. Lorel PHP 2 01.12.2008 14:29