Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
1

sqrt: DOMAIN error

01.05.2013, 20:09. Просмотров 798. Ответов 12
Метки нет (Все метки)

Здравствуйте! Нам задали написать программу для вычесления периметра триугольника, я написал но при её работе пишет 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");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2013, 20:09
Ответы с готовыми решениями:

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

[C++ Error] Sqrt x.cpp(16): E2268 Call to undefined function 'sqrt'. Что это за ошибка???
Когда я испльзую функцию sqrt() компилятор выводит: Sqrt x.cpp(16): E2268 Call to undefined...

Цикл: Для числа N вычислить значение следующего выражения: sqrt((1) + sqrt((2) + ... + sqrt(2 * N)))
Как это решить? sqrt((1)+sqrt((2)+..+sqrt(2n)))

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

12
4293 / 1415 / 463
Регистрация: 16.12.2010
Сообщений: 2,938
Записей в блоге: 3
01.05.2013, 20:26 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)));
0
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:38  [ТС] 3
ааа, спасибо

Добавлено через 11 минут
BumerangSP, не помогло
0
4293 / 1415 / 463
Регистрация: 16.12.2010
Сообщений: 2,938
Записей в блоге: 3
01.05.2013, 20:45 4
ах, это при работе...
Ну, вообще, пишут, что это может быть ошибка несоответствия с условиями использования функции. В данном случае корня. Например, число под корнем отрицательное.

Ошибка "sqrt: DOMAIN ERROR"
0
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:47  [ТС] 5
BumerangSP, тоже это читал, но в том дело что число не есть меньше 0
0
4293 / 1415 / 463
Регистрация: 16.12.2010
Сообщений: 2,938
Записей в блоге: 3
01.05.2013, 20:47 6
demover123, это Вы при отладке проверили?
0
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:52  [ТС] 7
BumerangSP, извеняюсь но а как проверить? Я использую Borland C++ 5.02
0
386 / 150 / 16
Регистрация: 12.05.2011
Сообщений: 450
01.05.2013, 20:57 8
Цитата Сообщение от demover123 Посмотреть сообщение
(A[0]-A[2])*2
это ты в квадрат так возводишь?
0
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:58  [ТС] 9
yekka, да
0
386 / 150 / 16
Регистрация: 12.05.2011
Сообщений: 450
01.05.2013, 21:02 10
истина где-то рядом
0
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.05.2013, 21:02 11
demover123, а как тогда на 2 умножать будете?
C++
1
(A[0]-A[2])*(A[0]-A[2])
или
C++
1
pow( A[0]-A[2], 2)
0
4293 / 1415 / 463
Регистрация: 16.12.2010
Сообщений: 2,938
Записей в блоге: 3
01.05.2013, 21:03 12
demover123, debug. Что борланд, я заметил по iostream.h и отсутствию пространств имен.
0
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 21:04  [ТС] 13
yekka, спасибо за подсказку, вышло
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2013, 21:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых)
Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых),с помощью...

Дано натуральное число n. Вычислить sqrt(2+ sqrt(5 + sqrt(7...))
Дано натуральное число n.Вычислить sqrt(2+ sqrt(5 + sqrt(7...)). Под корнями располагается n первых...

Рекурсия: вычислить значение выражения sqrt(1+sqrt(2+...sqrt(n)))
Вычислить с помощью рекурсии и без нее - y(n) = sqrt(1+sqrt(2+...sqrt(n).. Как выполнить задание с...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.