Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
#1

sqrt: DOMAIN error - C++

01.05.2013, 20:09. Просмотров 561. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2013, 20:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос sqrt: DOMAIN error (C++):

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

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

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

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

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

Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых) - C++
Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых),с помощью iostream, stdio.С помощью цикла for або while

12
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 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
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:38  [ТС] #3
ааа, спасибо

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

Ошибка "sqrt: DOMAIN ERROR"
0
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:47  [ТС] #5
BumerangSP, тоже это читал, но в том дело что число не есть меньше 0
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.05.2013, 20:47 #6
demover123, это Вы при отладке проверили?
0
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:52  [ТС] #7
BumerangSP, извеняюсь но а как проверить? Я использую Borland C++ 5.02
0
yekka
386 / 150 / 8
Регистрация: 12.05.2011
Сообщений: 450
01.05.2013, 20:57 #8
Цитата Сообщение от demover123 Посмотреть сообщение
(A[0]-A[2])*2
это ты в квадрат так возводишь?
0
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 20:58  [ТС] #9
yekka, да
0
yekka
386 / 150 / 8
Регистрация: 12.05.2011
Сообщений: 450
01.05.2013, 21:02 #10
истина где-то рядом
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
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
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.05.2013, 21:03 #12
demover123, debug. Что борланд, я заметил по iostream.h и отсутствию пространств имен.
0
demover123
1 / 1 / 0
Регистрация: 16.08.2012
Сообщений: 80
01.05.2013, 21:04  [ТС] #13
yekka, спасибо за подсказку, вышло
0
01.05.2013, 21:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2013, 21:04
Привет! Вот еще темы с ответами:

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

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

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

Error с sqrt - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #inlude &lt;math.h&gt; using namespace std; int main(int argc, char *argv) { int...


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

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

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