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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.64
colding54
Заблокирован
#1

Нахождение абсолютного значения - C++

26.03.2012, 07:43. Просмотров 3825. Ответов 4
Метки нет (Все метки)

Здравствуйте. Начинаю изучать С++.В книге прочитал что есть библиотечная функция abs() для нахождения абсолютного значения. Решел попробовать без нее.
в 12ой строке ошибка.


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
#include <iostream>
 #include <cstdio>
 #include <cstdlib>
 
 using namespace std;
 
 /* программа нахождения абсолютного значения, 
 функция absol не посредственно ищет это значение*/
 
 int absol(int d)
 {
 if(a<0) // ошибку показывает здесь 
 {
 d=-a;
 }
 else
 {
 d=a;
 }
 
 return d;
 }
 int main()
 {
 int a;
 int b;
 cout << "Введите число, абсолютное значение которогы вы хотите найти: ";
 cin >> a;
 cout << "\n";
 b=absol(a);
 cout <<"absolyt: " << b<< endl;
 cout <<"END";
 return 0;
 
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 07:43     Нахождение абсолютного значения
Посмотрите здесь:

Написать функцию возврата абсолютного значения числа. - C++
7. Написать функцию, функция возвращает максимальное значение из переданных ей двух значений. 8. Написать функцию возврата...

Добавить к каждому числу корень квадратный из абсолютного значения произведения - C++
Есть задание на шаблоны функции я слаб в си++, прощу помощи, по заданию, оставляйте комментарии по возможности что делаете в коде ...

Программа с использованием перезагрузки ф-ций для определения абсолютного значения числа - C++
У меня завтра экзамен. Я решила все задачи кроме одной. Помогите пожалуйста или подскажите как сделать! Вот и задача! Программа с...

Влияние абсолютного значения константы и использованных в ее изображении суффиксов L, U на тип данных - C++
Нужно проиллюстрировать влияние абсолютного значения константы и использованных в ее изображении суффиксов L, U на тип данных, который и...

Нахождение среднего значения - C++
Нужна помощь в написании функции-шаблона, которая считает среднее значение в массиве, самым простым методом Добавлено через 2 часа 32...

Нахождение значения функции - C++
Решите, пожалуйста задачку. Дано действительное число a. Для функций f(x), графики которых представлены на рис. 1,а-1,г, вычислить f(a)....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
26.03.2012, 08:10     Нахождение абсолютного значения #2
Во-первых, в области видимости функции absol переменная a не определена. Во-вторых, аргументом функции (формальным параметром) является переменная d, ее значение и нужно рассматривать:

C
1
2
3
4
5
6
7
int absol(int d)
{
  if(d < 0)
    return -d;
  else
    return d;
}
Или короче, с использованием тернарного оператора:

C
1
2
3
4
int absol(int d)
{
  return d < 0 ? -d : d;
}
colding54
Заблокирован
26.03.2012, 08:27  [ТС]     Нахождение абсолютного значения #3
Спасибо, разобрался и уложил в голове
Цитата Сообщение от Nameless One Посмотреть сообщение
Или короче, с использованием тернарного оператора:

C
1
2
3
4
int absol(int d)
{
  return d < 0 ? -d : d;
}
это пока еще загадка для меня.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
26.03.2012, 08:32     Нахождение абсолютного значения #4
colding54, синтаксис:
Код
expr '?' then-expr ':' else-expr
Сначала вычисляется expr. Если оно вычисляется в истину, то тогда вычисляется и возвращается значение then-expr. Иначе вычисляется и возвращается значение else-expr (т.е. оператор является short-circuit).

Тернарный оператор в функции absol можно читать так: если d меньше нуля, то вернуть -d, иначе вернуть d
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2012, 10:55     Нахождение абсолютного значения
Еще ссылки по теме:

Нахождение среднего значения - C++
В общем, смысл таков, есть два цикла: j и i, в цикле j я хочу найти минимальное из десяти генерируемых а. А в цикле i сложить 1000 раз эти...

Структуры. Нахождение среднего значения. - C++
помгите найти мреднее значение ругается на ii=((matemat+rus)/2); #include&lt;math.h&gt; #include&lt;conio.h&gt; //#include&lt;iostream.h&gt; ...

Нахождение минимального значения и его № - C++
Вот задача: Дано натуральное число N и последовательность A1, A2, ..., AN, AN. Определить наименьшее положительное среди A1, A2, ...,...

Нахождение среднего значения дробей - C++
Напишите функцию main(), которая получает случайные дробные числа от пользователя, сохраняет их в массиве типа fraction, вычисляет среднее...

Нахождение минимального значения в файле - C++
Добрый день! Как найти минимальное кол-во уплоченных налогов из всех компаний? Не получается разобраться как организовать поиск...

Нахождение максимального значения массива - C++
Составить программу, которая находит максимальное значение среди элементов линейной таблицы Y, состоящей из N вещественных чисел, имеющих...


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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
26.03.2012, 10:55     Нахождение абсолютного значения #5
Переменные могут быть определены как локальные или глобальные. От этого зависит их область видимости. Глянь пример.
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
#include <iostream>
 using namespace std;
  int x;// глобальная переменная
int func(int d)
 {
    int c;
    c=x+d;//в функции можно обращаться к своим параметрам (d), глобальным переменным(x)
             //и локальным переменным, но только этой функции (с);
    c=b;// !запрещено! b - локальная переменная из другой функции
    return d;
 }//после завершения функции её локальные переменные уничтожаются,
//поэтому не надейся сохранить в переменной "с", например, сумму результатов всех вызовов функций
// новый вызов - новая "c"
 
 int main()
 {
   int b; 
   int a;
   a=10; x=20;
   b=func(a);//здесь мы вызываем функцию с параметром 10
   //при этом переменные a и b нам временно перестают быть видны
   //но так как мы передали параметр
   //то значение a скопируется в функцию в виде параметра d
 
   return 0;
 
}
Вот немного об области видимости.
Yandex
Объявления
26.03.2012, 10:55     Нахождение абсолютного значения
Ответ Создать тему
Опции темы

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