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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 58, средняя оценка - 4.88
MaevskiyOff
8 / 8 / 1
Регистрация: 23.03.2013
Сообщений: 14
#1

Функция fabs! - C++

03.04.2013, 09:41. Просмотров 10230. Ответов 8
Метки нет (Все метки)

Здравствуйте, объясните пожалуйста, как можно проще, что из себя представляет ф-ция fabs! Если можно, то с элементарными примерами (желательно в цикле)!
Заранее спасибо!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2013, 09:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция fabs! (C++):

Что за функция fabs(int)? - C++
Что за функция fabs(int)?

Не работает fabs - C++
Задание: найти максимальный по модулю элемент массива и вывести его номер. Результат на скрине. Кусок кода там же. Если надо - могу...

ошибка с fabs - C++
Приветствую. Проблема в обще в том, что вылетает ошибка вовремя выполнения проги на отмеченной строчке. В принципе в этой функции мне нужно...

Конечные суммы на С++, fabs() - C++
Подскажите,пожалуйста,в чем ошибка? #include <stdafx.h> #include <stdio.h> #include <math.h> int _tmain(int argc,...

Использование функции fabs - C++
Как исправить? Вот код #include <iostream> #include <conio.h> #include <ctime> #include <cstdlib> #include <cmath> ...

Неправильно работает оператор fabs() - C++
К примеру программа: #include<iostream> #include<math> using namespace std; void main () { float x; cin >>...

8
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
03.04.2013, 09:50 #2
Модуль числа:
C++
1
2
3
4
5
6
7
8
#include <iostream> 
#include <cmath>
 
int main(){
    float x=-2.32;
    std::cout<<x<<std::endl;
    std::cout<<fabs(x)<<std::endl;
}
1
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
03.04.2013, 09:52 #3
fabs возвращает абсолютное значение, так же известное как модуль, переданного параметра.
Значение и параметр могут быть double, float и long double.
Подключаемый модуль cmath в современном С++, math.h в С и старых версиях С++.

Пример.
C++
1
2
double x = fabs(-23.1);
std::cout << x << std::endl;
Цитата Сообщение от MaevskiyOff Посмотреть сообщение
желательно в цикле
А если не юлить, что нужно?
1
MaevskiyOff
8 / 8 / 1
Регистрация: 23.03.2013
Сообщений: 14
03.04.2013, 15:04  [ТС] #4
В этот раз, без подтекста...Все началось с вот этой строки:

if (fabs(a-b) < 1e-6) cout << "равны"; else cout << "не равны"

но оказалось, разбираться надо не с fabs, а с малыми числами типо "e"!
1
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
03.04.2013, 15:16 #5
fabs - модуль числа. 1e-6 это то же самое, что и 10^-6 (десть в минус 6) 1e18 10^18 (десять в 18 степени).
1
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
03.04.2013, 15:27 #6
e - вообще не число, а специальный програмерский иероглиф "умножить на 10 в степени".
1
ru_LAN
12 / 12 / 0
Регистрация: 13.11.2011
Сообщений: 288
03.04.2013, 18:30 #7
|a-b|<1*10^(-6)

Добавлено через 2 минуты
C++
1
if (fabs(a-b) < 1e-6)
все равно что
C++
1
if (abs(a-b) < 1e-6)
как выше упомянули разница только в типах.
0
Тайлер
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 4
03.04.2013, 19:20 #8
abs это функция чисто для C++,а fabs это и для C!
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
03.04.2013, 19:28 #9
Цитата Сообщение от ru_LAN Посмотреть сообщение
как выше упомянули разница только в типах.
да ну? При
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
small int (small int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
short int (short int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
int (int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long int (long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long long int (long long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
hyper int (hyper int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
float int (float x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
extended int (extended x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
double (double x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long double (long double x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
abs будет работать с теми же типами, что и fabs.
0
03.04.2013, 19:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2013, 19:28
Привет! Вот еще темы с ответами:

Тип выводимых данных. abs() и fabs() - C++
Здравствуйте, столкнулся с такой проблей при выводе через cout данных типа double выводится почемуто только 2 знака после запятой(хотя их...

Неправильное вычисление уравнения (atan, acos, fabs) - C++
Доброго времени суток. Столкнулся с проблемой, программа не правильно считает уравнение, а ошибку найти не могу. Уже кучу всего...

Какую библиотеку подключить для использования fabs? - C++
в C++ какую библиотеку надо подключить чтобы использовать fabs()?

Ошибка в задаче: Найти мин. k, которое будет удовлетворять условию: fabs(правая часть - левая часть) < 10^(-15) - C++
Задача: k изменяется от 0 до бесконечности ((4k+1)! / ^2) * x^2k = =1/2* X принадлежит интервалу (-1/4 ; 1/4) Найти мин....


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

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

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