Форум программистов, компьютерный форум CyberForum.ru

sqrt: DOMAIN error - C++

Восстановить пароль Регистрация
 
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 79
01.05.2013, 20:09     sqrt: DOMAIN error #1
Здравствуйте! Нам задали написать программу для вычесления периметра триугольника, я написал но при её работе пишет sqrt: DOMAIN error
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream.h>
#include <math.h>
#include <windows.h>
 
char rusbuffer[256];
 
char* Rus(const char* text)
{
    CharToOem(text,rusbuffer);
    return rusbuffer;
}
 
class Segment
{
    public:
        void SetSegment();
        void CalcSegment();
        void GetTrigran();
        int A[2], B[2], S[2];
        int ClacTrigran();
};
 
void Segment::SetSegment()
{
    for (int i=0; i<3; i++)
    {
    int k = i;
        cout<<Rus("Введите х y координаты для ")<<++k;
      cout<<Rus(" -й точки")<<endl;
        cin>>A[i];
        cin>>B[i];
    }
}
 
void Segment::CalcSegment()
{
    S[0] = sqrt(((A[1]-A[0])*2) + ((B[1]-B[0])*2));
    S[1] = sqrt(((A[2]-A[1])*2) + ((B[2]-B[1])*2));
    S[2] = sqrt(((A[0]-A[2])*2) + ((B[0]-B[2])*2));
}
 
int Segment::ClacTrigran()
{
    int p;
    p = S[0]+S[1]+S[2];
    return p;
}
 
void Segment::GetTrigran()
{
    cout<<Rus("Периметр триугольника ")<<ClacTrigran()<<endl;
}
 
void main()
{
    Segment seg;
    seg.SetSegment();
    seg.CalcSegment();
    seg.GetTrigran();
    system("PAUSE");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.05.2013, 20:26     sqrt: DOMAIN error #2
demover123, sqrt принимает в качестве параметра значения вещественного типа:
C++
1
2
3
    S[0] = sqrt(double(((A[1]-A[0])*2) + ((B[1]-B[0])*2)));
    S[1] = sqrt(double(((A[2]-A[1])*2) + ((B[2]-B[1])*2)));
    S[2] = sqrt(double(((A[0]-A[2])*2) + ((B[0]-B[2])*2)));
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 79
01.05.2013, 20:38  [ТС]     sqrt: DOMAIN error #3
ааа, спасибо

Добавлено через 11 минут
BumerangSP, не помогло
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.05.2013, 20:45     sqrt: DOMAIN error #4
ах, это при работе...
Ну, вообще, пишут, что это может быть ошибка несоответствия с условиями использования функции. В данном случае корня. Например, число под корнем отрицательное.

Ошибка "sqrt: DOMAIN ERROR"
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 79
01.05.2013, 20:47  [ТС]     sqrt: DOMAIN error #5
BumerangSP, тоже это читал, но в том дело что число не есть меньше 0
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.05.2013, 20:47     sqrt: DOMAIN error #6
demover123, это Вы при отладке проверили?
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 79
01.05.2013, 20:52  [ТС]     sqrt: DOMAIN error #7
BumerangSP, извеняюсь но а как проверить? Я использую Borland C++ 5.02
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
01.05.2013, 20:57     sqrt: DOMAIN error #8
Цитата Сообщение от demover123 Посмотреть сообщение
(A[0]-A[2])*2
это ты в квадрат так возводишь?
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 79
01.05.2013, 20:58  [ТС]     sqrt: DOMAIN error #9
yekka, да
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
01.05.2013, 21:02     sqrt: DOMAIN error #10
истина где-то рядом
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.05.2013, 21:02     sqrt: DOMAIN error #11
demover123, а как тогда на 2 умножать будете?
C++
1
(A[0]-A[2])*(A[0]-A[2])
или
C++
1
pow( A[0]-A[2], 2)
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.05.2013, 21:03     sqrt: DOMAIN error #12
demover123, debug. Что борланд, я заметил по iostream.h и отсутствию пространств имен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2013, 21:04     sqrt: DOMAIN error
Еще ссылки по теме:

Log Domain error C++
Ошибка pow: DOMAIN error C++
C++ Error с sqrt

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

Или воспользуйтесь поиском по форуму:
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 79
01.05.2013, 21:04  [ТС]     sqrt: DOMAIN error #13
yekka, спасибо за подсказку, вышло
Yandex
Объявления
01.05.2013, 21:04     sqrt: DOMAIN error
Ответ Создать тему
Опции темы

Текущее время: 03:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru