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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.97
cap
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 51
#1

nan - C++

04.11.2010, 01:26. Просмотров 5023. Ответов 16
Метки нет (Все метки)

подскажите что это означает ввожу данные на выходе "nan"
работаю только с double, long int
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 01:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос nan (C++):

Проверка на NaN (С/С++) - C++
Подскажите, пожалуйста, как проверить является ли вещественное число NaN'ом? Как вариант сделать побитовое умножение на маску... Но...

Nan после вычисления - C++
после вычисления значения выдает число, nan, число. как можно округлить до того значения, чтобы выдавался корректный ответ? + после...

Что такое nan? - C++
Собственно вопрос: что такое nan? Допустим v=2 #include<iostream> #include<cmath> using namespace std; int main() { ...

max [NaN, число] vs max [число, NaN] - C++
объясните пожалуйста, в чем прикол? double a = numeric_limits<double>::quiet_NaN(); double b = 1.0; double c = max(b, a); // с =...

LU - разложение (выдает NaN) - C++
Здравствуйте. Помогите исправить программу. Проблема заключается в том, что некоторые значение получаются NaN/ #include<iostream.h> ...

Как отловить +/-INF и NAN? - C++
Здравствуйте. Проблема в возникновении в ходе вычислений указанных в заголовке значений. Причем трагизм ситуации в том, что после начала...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.11.2010, 01:28 #2
выложыте код!!!!
0
cap
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 51
04.11.2010, 01:33  [ТС] #3
та уже понял))это если данные не введены или им ничего не присвоино а потом их вывести то будет nan )

Встал другой вопрос почему не считает как надо Sn

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
#include <stdio.h>
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
 
#include <cmath>
using namespace std;
 
int main() {
    double h,Sn,Xi,p1,Si;
    long int a,b,i,N;
 
    cout<<"Введите а"<<endl;
    cin >>a;
    cout<<"Введите b"<<endl;
    cin >>b;
 
 
    Sn=0;
    h=0;
    Xi=0;
    p1=0;
    Si=0;
 
for (N=1;N<=10;N++)
{
    for (i=1;i<=N;i++)
    {
        h=(b-a)/N;
 
 
 
        Xi=a+i*h;
 
 
        p1=sin(Xi);
 
 
 
        Si=h*p1;
 
 
 
        Sn=Sn+Si;
        cout<<Sn<<endl;
        }
 
}
 
 
 
}
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.11.2010, 01:37 #4
Зачем столько библиотек? И неплохо было бы на задание посмотреть!!!

C++
1
2
3
4
5
int main() 
{
.............
return 0;
}
0
cap
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 51
04.11.2010, 01:40  [ТС] #5
библеотеки нужны просто это кусок проги
зачем задание??
мне нужно посчитать Sn грубо говоря но программа выводит бред
0
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
04.11.2010, 01:42 #6
Цитата Сообщение от cap Посмотреть сообщение
подскажите что это означает ввожу данные на выходе "nan"
NaN (Not A Number) это такое состояние double когда в нем либо мусор либо результат некорректных вычислений. Подробнее тут http://ru.wikipedia.org/wiki/NaN
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.11.2010, 01:43 #7
Зачем использовать ето

C++
1
#include <math.h>
вместе с етим

C++
1
#include <сmath>
???
0
cap
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 51
04.11.2010, 01:46  [ТС] #8
да суть не в этом....суть в том что если прогу запустить Sn будет повторяющимся числом хотя в цикли оно сумируется как так выходит?

Добавлено через 28 секунд
Цитата Сообщение от MILAN Посмотреть сообщение
Зачем использовать ето

C++
1
#include <math.h>
вместе с етим

C++
1
#include <сmath>
???
не знал точно какая поэтому и написал обе
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.11.2010, 01:51 #9
Выложите конкретное задание, что вам надо сделать!!!
0
cap
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 51
04.11.2010, 01:57  [ТС] #10
ПРИЧЕМ ТУТ ЗАДАНИЕ ВЫ МОЖЕТЕ ПРОСТО СКАЗАТЬ ПОЧЕМУ Sn У МЕНЯ НЕ СУМИРУЕТСЯ ГДЕ ОШИБКА?

Добавлено через 1 минуту
запустите код введите 1 и 4 и увидите явно то что не должно быть
вот и спрашиваю почему так?
0
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
04.11.2010, 01:59 #11
Цитата Сообщение от cap Посмотреть сообщение
h=(b-a)/N; Xi=a+i*h;
Вот это мне не нравится, у вас (b-a)/N дает целочисленный результат, вы сначала типы приведите к вещественным, а потом уже делите, например так double(b-a)/N
1
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
04.11.2010, 02:02 #12
C++
1
h=(b-a)/N;
При маленьких a и b достаточно быстро возникает ситуация, когда разница (b-a) меньше N, что в свою очередь приводит к тому, что результат целочисленного деления = 0; Вот и получается, что увеличение идет на 0
1
cap
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 51
04.11.2010, 02:07  [ТС] #13
double(b-a)/N кажется решило проблему щас вручную проверю
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
04.11.2010, 02:07 #14
Мало того, N может быть равно нулю и программа выпадет в осадок. Проверку бы не помешало.
А нет. Ошибся. Тут не может быть нулю.
0
cap
1 / 1 / 0
Регистрация: 27.10.2010
Сообщений: 51
04.11.2010, 02:42  [ТС] #15
да считает верно
скажите еще такой вопрос
вот когда считал вручную у меня там выходило -2.270406 в с++ же -2.27041 как бы округляет
можно ли убрать округление или нет?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2010, 02:42
Привет! Вот еще темы с ответами:

Вывод nan при расчете - C++
При расчете codeblocks выводит nan как сделать так, чтобы он считал это ошибкой? #include &lt;iostream&gt; #include &lt;math.h&gt; using...

При вычисление выдает nan - C++
Здравствуйте, дорогие форумчане. Небольшая программка для вычисления полупериметра треугольника и т.д., реализованная через классы. ...

Проверка double на NaN и Infinity - C++
Как лучше проверить дабл на нотенамбер или бесконечность?

Интегрирования трапециями. Ошибка -nan(ind) - C++
Доброго времени суток! Пытаюсь реализовать интегрирование методом трапеций. Возникает постоянно следующая ошибка при выводе результата:...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.11.2010, 02:42
Ответ Создать тему
Опции темы

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