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

Вместо числа выводится строка "-1.#IND"

17.09.2012, 21:26. Показов 1612. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос у меня на Консольном приложении Win32 вместо значения на екран высвечивается надпись - "-1.#IND"!! Код работал и до этого единственное что поменял 2производные и саму функцию... Чем может быть вызвано появление этой строки?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.09.2012, 21:26
Ответы с готовыми решениями:

Указатели, почему выводится строка вместо символа?
Понемногу мозги закипают, сижу разбираюсь с указателями, вот наваял пример, но в моем понимании, на экран должен вылазить символ, а выходит...

Выводит -1.#IND вместо значения переменной
Здравствуйте, очень долго бьюсь с проблемой. заключается она в следующем. Есть ряд Тейлора для sin(x)/x который равен(сразу распишу) sum...

Интерполяция методом Ньютона: вывод -1.#IND вместо нужных значений
Написал программу для интерполяции методом Ньютона. Вместо нормальных цифр, выводит странные значения (-1.#IND00). На Линуксе...

10
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
17.09.2012, 22:03
-1.#IND - это NAN (возможные причины возникновения перечислены по ссылке), проверяй вычисления и исходные данные для них.
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 66
17.09.2012, 22:47  [ТС]
А не посмотриш где? Я уже битый час ее немогу найти?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
17.09.2012, 23:30
Ты б код выложил, кто-нибудь уже давно нашел бы.
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 66
18.09.2012, 00:56  [ТС]
C++ (Qt)
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// X*x+4sin(x)=0
#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
#define  db double
const db c=1, d=2, e=0.001;
/*------------------------------------*///вычисление значения функции
db f(db x, db p)
{
    return pow((db)x,2)-10-pow(p,pow((db)x-2,0.5));
}
/*------------------------------------*/
db f1 (db x,db p)   // 1-z производная 
{
    return 2*(db)x-pow(p,(db)x)*log(p);
}
/*------------------------------------*/
db f2 (db x,db p)     // 2-я производная 
{
    
    return 2-pow(p,(db)x)*pow(log(p),2);
}
/*------------------------------------*/
db the_chord_method(db left_bound, db right_bound, db p)//метод хорд
{
 
    return (left_bound-(f(left_bound,p))/(f(right_bound,p)-f(left_bound,p))*(right_bound-left_bound));
}
/*------------------------------------*/
db method_of_tangents(db left_bound, db right_bound, db p)//метод касательных
{
    return right_bound-(f(right_bound,p))/(f1(right_bound,p));
}
/*------------------------------------*/
void P_return(double c, double d, int m, db*P)//вычисление коээфициентов Р
{
    db h=(d-c)/m;
 
    for(int i=0;i<m+1;i++)
    {   P[i]=0;
        P[i]=(c+i*h);       
    }   
}
/*------------------------------------*/
void print(db *X,db *P, db *left_bound, db* right_bound, int m)
{
     cout<<"\n\t\t__________________________________________"<<endl;
     cout<<"\t\t"<<" N"<<setw(7)<<"a"<<setw(10)<<"b"<<setw(10)<<"P"<<setw(10)<<"X"<<endl;
     cout<<"\t\t__________________________________________"<<endl;
     for(int i=0;i<m+1;i++)
     {
        cout<<"\t"<<setw(10)<<i+1<<setw(10)<<setprecision(5)<<left_bound[i]<<setw(10)<<setprecision(5)<<right_bound[i];
        cout<<setw(10)<<setprecision(5)<<P[i]<<setw(10)<<setprecision(5)<<X[i]<<endl;   
     }
        cout<<"\t\t__________________________________________"<<endl;
}
/*------------------------------------*/
void find_values_X(db *X,db *P, db *left_bound, db* right_bound, int m)//комбинированный метод
{
     for(int i=0;i<m+1;i++)
     {
            if ((f1(c,P[i])*f1(d,P[i])<0) || (f2(c,P[i])*f2(d,P[i])<0)) 
                exit(0);//если производные имеют разные знаки
                    if (f(c,P[i])*f2(c,P[i])>0)
                    {
                        right_bound[i]=c; 
                        left_bound[i]=d;
                    }    
                    else 
                        if (f(d,P[i])*f2(d,P[i])>0)
                        {
                            right_bound[i]=d; 
                            left_bound[i]=c;
                        }
 
                    bool OK=false;
                    int n=0; 
         
                        while ((!OK) && (n<m))
                        {
                            right_bound[i]=method_of_tangents(left_bound[i], right_bound[i],P[i]);
                            left_bound[i]=the_chord_method(left_bound[i], right_bound[i],P[i]);
                            X[i]=(right_bound[i]+left_bound[i])/2;
                                if (fabs(right_bound[i]-left_bound[i])<e)
                                    OK=true;
                            n++;
                        }
     }
}
/*------------------------------------*/
void pre_main()
{    
    system("cls");
    setlocale(LC_ALL,"");
    cout<<"\t\t\tРезультаты работы программы:"<<endl;
    int m=15;
    db *left_bound, *right_bound, *X;
    X=new db[m+1];
    left_bound=new db[m+1];
    right_bound=new db[m+1];
    db *P= new db[m+1];
    for(int i=0;i<m;i++)
    {
            X[i]=0;
            left_bound[i]=0;
            right_bound[i]=0;
    }    
    P_return(c,d,m,P);  
    find_values_X(X,P,left_bound,right_bound,m);
    print(X,P,left_bound,right_bound,m);
}
/*-------------------------------------------------*/
int main ()
{
     pre_main();
     _getch();
     return 0;
}
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
18.09.2012, 01:13
Первый же вызов method_of_tangents(), из него вызывается ф-я f() с параметрами x = 0, p = 1. Что вычисляется при этом? Корень квадратный из (-2)?

return pow((db)x,2)-10-pow(p,pow((db)x-2,0.5));

Это NaN
1
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 66
18.09.2012, 01:41  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
Первый же вызов method_of_tangents(), из него вызывается ф-я f() с параметрами x = 0, p = 1. Что вычисляется при этом? Корень квадратный из (-2)?

return pow((db)x,2)-10-pow(p,pow((db)x-2,0.5));

Это NaN
нет это функция которая должна выглядеть так x^2-10-p^(кореньквадратный из x-2)
я это и хотел передать
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
18.09.2012, 01:47
При извлечении квадратного корня из (x-2) при x == 0 как ты думаешь, что получится в результате? Неужели, что-то отличное от ошибки? Если именно эта функция тебе нужна, то передаваемый в нее x просто должен проверяться. При x < 2 функция не определена.
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 66
18.09.2012, 01:51  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
При извлечении квадратного корня из (x-2) при x == 0 как ты думаешь, что получится в результате? Неужели, что-то отличное от ошибки?
печаль получится!!=( мне надо задать Х чтоб больше 2 и исчезнут NAN?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
18.09.2012, 01:53
Здесь - исчезнут. Если в других функциях не вычисляется, скажем, логарифм отрицательного числа, или другое возведение в степень не выдаст тебе ошибок - значит, NaN-ов больше не будет.
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 66
18.09.2012, 01:55  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
Здесь - исчезнут. Если в других функциях не вычисляется, скажем, логарифм отрицательного числа, или другое возведение в степень не выдаст тебе ошибок - значит, NaN-ов больше не будет.
Так осталось малое придумать что впихнуть и куда!!!! Спс за помощь...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2012, 01:55
Помогаю со студенческими работами здесь

В файл вместо значения параметра выводится строка "Режим вывода команд на экран (ECHO) отключен."
Сам код: (включать через другой cmd с параметрами 1 &quot;msg * hello&quot;) chcp 1251 if &quot;%1&quot;==&quot;1&quot; (cd %1 &amp;&amp; Echo Выбрана папка - %1...

Экспоненциальная запись числа при порядке меньше -6 выводится как строка.
alert (3e-6); /*Работает*/ alert (3e-7); /*Не работает*/ Подскажите в чём причина, при отрицательных от -7 не выводит...

Вместо вещественного числа с двойной точностью выводится "1,#IO"
Здравствуйте, подскажите пожалуйста почему вместо вещественного числа с двойной точностью выводится 1,#IO? void zadanie2b() ...

Ошибка -1.#IND при вводе не целого числа
После ввода дробного числа для b в консоли пишется ошибка -1.#IND. При вводе целого числа все считается. В чем причина? При использовании...

Дата: В двух строках вместо дат идёт строка null, как вместо Date вернуть "-" в виде String?
На входе есть строки с датами разных форматов. Я обрабатываю их так: public static Date extractTimestampInput(String strDate){ ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru