Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 9

Ошибки Pow: Domain error и Log10: Domain error

04.03.2016, 04:05. Показов 3324. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, возникла проблема, при компиляции программы выдаёт ошибки, указанные в заголовке, первую выдаёт при выполнение функции:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
void Graph3(double MinLower, double MaxLower, double Step)
{
        double X = MinLower;
        while (X<=MaxLower)
        {
                double Slot = pow((X-2), 2.0/3) + pow((X+2), 2.0/3);
                Form1->Series1->AddXY(X, Slot, "", clRed);
                X += Step;
        }
        Form1->Label3->Caption = "(x-2)^(2/3)+(x+2)^(2/3)";
}
Вторую выдаёт при выполнения функции:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
void Graph7(double MinLower, double MaxLower, double Step)
{
        double X = MinLower;
        while (X<=MaxLower)
        {
                double Slot = 5*log10(X)/log10(2)*(X+1);
                Form1->Series1->AddXY(X, Slot, "", clRed);
                X += Step;
        }
        Form1->Label3->Caption = "5*log2(x+1)";
}
Примерно понимаю, с чем это связано, но не совсем понимаю, как решить эту проблему, подскажите, пожалуйста.
При необходимости скину весь проект. Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2016, 04:05
Ответы с готовыми решениями:

Ошибки вычислений, POW: Domain Error
{float a,b,h,x,y,k; a=StrToFloat(Edit1-&gt;Text); b=StrToFloat(Edit2-&gt;Text); h=StrToFloat(Edit3-&gt;Text); x=a; while (x&lt;=b+0.01*h) {...

C++ Builder pow: DOMAIN error
выбивает ошибку вот код. помогите пожалуйста. скорее всего проблема с функцией что с рекурсией #include &lt;vcl.h&gt; #pragma...

Pow: DOMAIN error Borland C++
Выдает ошибку pow: DOMAIN error и неправильно считает функцию. Вообще без понятия что это и что с этим делать. Помогите пожалуйста новичку....

5
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
04.03.2016, 09:25
Цитата Сообщение от Samriel Посмотреть сообщение
Примерно понимаю, с чем это связано
- было бы интересно. Потому что у меня на BCB5 такой вот аналог__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     double MinLower=100.0;
     double MaxLower=500.1;
     double Step = 10.0;
 
     double X = MinLower;
     while (X<=MaxLower)
     {
       double Slot = pow((X-2), 2.0/3) + pow((X+2), 2.0/3);
       //   Form1->Series1->AddXY(X, Slot, "", clRed);
       Slot ;
       X += Step;
     }
     Form1->Label3->Caption = "(x-2)^(2/3)+(x+2)^(2/3)";
}
_ никаких ошибок не вызывает и прекрасно компилируется и запускается...
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 9
04.03.2016, 10:28  [ТС]
По условию требуется использовать диапазон -100...100, подозреваю, что это связано с отрицательными числами и нулём, вероятно, но каким-то образом нужно построить именно эти графики, собственно, в чём и загвоздка, как я подозреваю, могу конечно ошибаться.

Так же, мб дело в вычисление шага, он должен производиться по такой формуле, по условию:
C++
1
double Step = fabs(MinLower - MaxLower)/100;
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
04.03.2016, 10:59
Да, действительно. С отрицательными именно такая ошибка.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
04.03.2016, 11:34
Цитата Сообщение от Samriel Посмотреть сообщение
но каким-то образом нужно построить именно эти графики
https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{\frac{y}{z}} = \sqrt[z]{x^y}
, так что если сначала отдельно возвести число в квадрат (после чего оно, очевидно, станет положительным) и только потом извлечь из результата кубический корень - то ошибки в первом случае просто не будет, ей будет неоткуда взяться:
C++
1
double Slot = pow((X-2)*(X-2), 1.0/3) + pow((X+2)*(X+2), 1.0/3);
Со второй функцией проблема. Логарифм от отрицательных значений не определен, так что отрисовать функцию можно будет только при x > (-1), а не от (-100)
0
0 / 0 / 0
Регистрация: 03.05.2015
Сообщений: 9
04.03.2016, 13:29  [ТС]
Спасибо за помощь, про логарифм почитал, что, вроде как, его можно при отрицательном значение заменить на его абсолютное значение, решил так и оставить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2016, 13:29
Помогаю со студенческими работами здесь

Вылетает pow: domain error
Здравствуйте.Вообщем пишу программу суть которой такова.дано уравнение left=r где r это бесконечная сумма слагаемых.Водиться переменная х и...

Выдает ошибку pow DOMAIN error
Доброго времени суток, выдает ошибку pow DOMAIN error при расчете примера. Всю голову сломал уже, помогите. Вот собственно сам пример:...

Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку pow OWERFLAW ERROR
Здравствуйте! подскажите пожалуйста где ошибка в коде. Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку pow...

На другом компьютере exe файл C++ Builder 6 открывается,но выдает ошибку "pow : DOMAIN error"
На другом компьютере файл exe открывается но выдает ошибку: pow : DOMAIN error. На моем компе есть Builder, на другом - нет. что делать...

Log domain error
Значения s1 = 1.05, s2 = 1.4; n = 15. Как я понял эта ошибка возникает когда выражение под логарифмом отрицательное число, но у меня ни за...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru