Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
-59 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 112
1

Log Domain error

07.02.2014, 20:06. Показов 2534. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Поясните начинающему программисту эту ошибку???
Log Domain error

вот код программы, и почему эта ошибка при отрицательном значении???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{  float x,y1,y2,s,t,kub;
   cout<<"\nvvod x = "; cin>>x;
   s=sin(x)*sin(x);
   t=tan(x)*tan(x);
   kub=(s+s/t)*(s+s/t)*(s+s/t);
   y1=kub+exp(log(x));
   y2=1+x;
   cout<<"\ny1="<<y1;
   cout<<"\ny2="<<y2;
   getch();
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2014, 20:06
Ответы с готовыми решениями:

sqrt: DOMAIN error
Здравствуйте! Нам задали написать программу для вычесления периметра триугольника, я написал но при...

Ошибка pow: DOMAIN error
При запуске в C++ Builder функция спамит вышеуказанной ошибкой, в выводе все значения при (i-j)&lt;0...

Выдает ошибку sqrt: domain error
Помогите решить проблему! Незнаю почему она выходит, исправте пожалуйста цель задачи: Дано...

НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает!
Я в С++ вообще только седня начал разбираться) с Дельфей как то не сложно все! а тут тупняк!( вот...

5
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 865
Записей в блоге: 1
07.02.2014, 20:12 2
Лучший ответ Сообщение было отмечено Dragwor как решение

Решение

Цитата Сообщение от Dragwor Посмотреть сообщение
y1=kub+exp(log(x));
Строчка странная если с ума не сошел то это exp(log(x))=x.... Да и к тому же log не может содержать отрицательный аргумент...
0
232 / 232 / 69
Регистрация: 30.09.2012
Сообщений: 545
07.02.2014, 20:17 3
Нужно устроить проверку ввода, чтобы запретить ввод отрицательных значений. Выше написали, что отрицательного аргумента быть не может.
0
-59 / 1 / 1
Регистрация: 01.04.2013
Сообщений: 112
08.02.2014, 10:34  [ТС] 4
А почему тогда при вводе отрицательного значения он выдает ошибку и все равно считает это выражение??? и значение при отрицательном вводе постоянно 1, почему???
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 865
Записей в блоге: 1
08.02.2014, 10:50 5
Цитата Сообщение от Dragwor Посмотреть сообщение
А почему тогда при вводе отрицательного значения он выдает ошибку и все равно считает это выражение??? и значение при отрицательном вводе постоянно 1, почему???
Вполне допускаю что это прикол компилятора: мой например (MVS2012) ошибку не выдает, но и ответ странный: -1.#IND...
А вообще (-1) это округленное при выводе на консоль значение kub.. А тот прибавок exp(log(x))=x Ваш компилятор в отличии от моего просто игнорирует (напечатав ошибку ранее)...
У меня был случай когда я использовал тип float а не double и в какой-то момент из-за не хватки точности происходило округление числа до 0 и как следствие вылезало деление 0. Но при этом компилятор не считал это ошибкой а просто выдавал какой-то мусор....
0
232 / 232 / 69
Регистрация: 30.09.2012
Сообщений: 545
08.02.2014, 11:16 6
Dragwor, Переменная kub это же единица в кубе, то есть всегда единица. ln(-x) это уже комплексное число и обычная функция log() с math.h не решает такого, а выдаёт ошибки. Вообще говоря exp(ln(-x)) = -x, но это для людей так, а машина е возводит в степень ln(-x), а ln(-x), как я писал не вычисляется правильно, поетому на этом этапе выступает ошибка.
Очень похоже, что ваш компилятор отбрасывает эту вещь и выводит на печать ошибку, а потом уже переменную kub, которая всегда равна единице. Хотя у меня тоже пишет -1.#IND.
0
08.02.2014, 11:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2014, 11:16
Помогаю со студенческими работами здесь

Floating point error:Domain.Abnormal program termination - ??? это что значит?
Floating point error: Domain. Abnormal program termination #include &lt;stdio.h&gt; #include...

Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка
Доброго времени суток)) Необходимо записать функцию Бесселя первого рода нулевого порядка. ...

Ошибка "domain error" при вычислении выражения
Всем привет ) вот код x=StrToFloat(Edit1-&gt;Text); y=StrToFloat(Edit2-&gt;Text);...

По заданым значениям х и у найти значение величины log x y (log с основанием х)
Подскажите,где ошибка в if-else.Потому-что,когда вводить вместо х или у 0,почему-то еррор не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru