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

Неправильно работает оператор fabs() - C++

Восстановить пароль Регистрация
 
Никита Щукин
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 18
31.10.2012, 23:58     Неправильно работает оператор fabs() #1
К примеру программа:

#include<iostream>
#include<math>
using namespace std;

void main ()
{
float x;
cin >> x;
cout << endl << fabs(x);
}

при вводе -11111,11111 выводит 11111, кроме этого if (0.1<0.00001) даёт истину в чём проблема??? Как это лечить??? Я пробовал пере устанавливать, качать др. версию... не помогает
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
01.11.2012, 00:08     Неправильно работает оператор fabs() #2
что-то мне подсказывает не Visual Studio дело.
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,107
Записей в блоге: 3
01.11.2012, 00:08     Неправильно работает оператор fabs() #3
Цитата Сообщение от Никита Щукин Посмотреть сообщение
при вводе -11111,11111 выводит 11111
Не знаю, в курсе ли вы, но разделителем целой и дробной части является точка.
Цитата Сообщение от Никита Щукин Посмотреть сообщение
if (0.1<0.00001) даёт истину
Каким кодом вы это выяснили?
PitBool
 Аватар для PitBool
12 / 12 / 6
Регистрация: 31.10.2012
Сообщений: 45
01.11.2012, 00:14     Неправильно работает оператор fabs() #4
Код
#include <iostream> 
#include <math>
using namespace std; 

void main () 
{ 
float x; 
cin >> x; 
cout << endl << fabs(x);
}
Должно быть:
Код
#include <math.h>
Всё дело в коде.
В остальных случаях я думаю тоже.
Никита Щукин
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 18
01.11.2012, 00:23  [ТС]     Неправильно работает оператор fabs() #5
Цитата Сообщение от HighPredator Посмотреть сообщение
Не знаю, в курсе ли вы, но разделителем целой и дробной части является точка.

Каким кодом вы это выяснили?
я это знаю просто опечатка)) у меня в программе нужно вписать число в промежутке от 0 до 0.0001 иначе повторный ввод, ввожу 0,1 прога работает дальше и при этом зацикливается, хотя на другом компьютере всё норм

Добавлено через 2 минуты
Цитата Сообщение от PitBool Посмотреть сообщение
Должно быть:
Код
#include <math.h>
Всё дело в коде.
В остальных случаях я думаю тоже.
я так и пишу, опечатался прост с кодом всё норм на др компе работает

Добавлено через 1 минуту
Цитата Сообщение от David Sylva Посмотреть сообщение
что-то мне подсказывает не Visual Studio дело.
вполне возможно, но тогда в чём?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 00:38     Неправильно работает оператор fabs() #6
Цитата Сообщение от Никита Щукин Посмотреть сообщение
у меня в программе нужно вписать число в промежутке от 0 до 0.0001 иначе повторный ввод
Покажите код.

Добавлено через 51 секунду
Студия какая?

Добавлено через 5 минут
Цитата Сообщение от Никита Щукин Посмотреть сообщение
на др компе работает
И что выводит, когда вводите -11111.11111?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
01.11.2012, 00:40     Неправильно работает оператор fabs() #7
Цитата Сообщение от PitBool Посмотреть сообщение
Должно быть:
C++
1
#include <math.h>
Должно быть:
C++
1
#include <cmath>
Никита Щукин
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 18
01.11.2012, 00:54  [ТС]     Неправильно работает оператор fabs() #8
Цитата Сообщение от gray_fox Посмотреть сообщение
Должно быть:
C++
1
#include <cmath>
помогло!!! Спасибо огромное)))
PitBool
 Аватар для PitBool
12 / 12 / 6
Регистрация: 31.10.2012
Сообщений: 45
01.11.2012, 01:49     Неправильно работает оператор fabs() #9
Скажите в чем разница между <math.h> и <cmath>?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
01.11.2012, 01:55     Неправильно работает оператор fabs() #10
Цитата Сообщение от PitBool Посмотреть сообщение
Скажите в чем разница между <math.h> и <cmath>?
<math.h> - это библиотека для С, <cmath> - её аналог для С++. Все С-библиотеки в С++ "обёрнуты": <math.h> - в <cmath>, <stdio.h> - в <cstdio>, <ctype.h> - в <cctype> и т.д. Как-то так.
PitBool
 Аватар для PitBool
12 / 12 / 6
Регистрация: 31.10.2012
Сообщений: 45
01.11.2012, 02:01     Неправильно работает оператор fabs() #11
gray_fox, спасибо
Bratel
 Аватар для Bratel
4 / 4 / 0
Регистрация: 26.09.2012
Сообщений: 61
01.11.2012, 02:03     Неправильно работает оператор fabs() #12
Цитата Сообщение от gray_fox Посмотреть сообщение
<math.h> - это библиотека для С, <cmath> - её аналог для С++.
всегда в с++ подключал библиотеку Math.h и не когда ошибок не было) а Cmath ни когда даже не использовал))
Никита Щукин
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 18
01.11.2012, 02:29  [ТС]     Неправильно работает оператор fabs() #13
Проблема была скорее всего не в библиотеке, а в моей невнимательности))) но всё равно всем огромное спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 02:49     Неправильно работает оператор fabs()
Еще ссылки по теме:

C++ Неправильно работает ф-ия :(
C++ Перегруженный "оператор +" неправильно возвращает значения
C++ Программа работает неправильно

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

Или воспользуйтесь поиском по форуму:
castaway
01.11.2012, 02:49     Неправильно работает оператор fabs()
  #14

Не по теме:

Цитата Сообщение от Никита Щукин Посмотреть сообщение
я так и пишу, опечатался прост с кодом всё норм на др компе работает
Да ты болобол ...

Yandex
Объявления
01.11.2012, 02:49     Неправильно работает оператор fabs()
Ответ Создать тему
Опции темы

Текущее время: 09:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru