Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/65: Рейтинг темы: голосов - 65, средняя оценка - 4.74
Заблокирован
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Начинаю изучать С++.В книге прочитал что есть библиотечная функция 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;
 
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2012, 07:43
Ответы с готовыми решениями:

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

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

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

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

4
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
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;
}
1
Заблокирован
26.03.2012, 08:27  [ТС] 3
Спасибо, разобрался и уложил в голове
Цитата Сообщение от Nameless One Посмотреть сообщение
Или короче, с использованием тернарного оператора:

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

Тернарный оператор в функции absol можно читать так: если d меньше нуля, то вернуть -d, иначе вернуть d
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 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;
 
}
Вот немного об области видимости.
0
26.03.2012, 10:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2012, 10:55
Помогаю со студенческими работами здесь

Найти строки, квадрат первого элемента которых меньше абсолютного значения второго элемента
Для матрицы из 2 столбцов и 9 строк отпечатать номер каждой строки, квадрат первого элемента...

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru