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

Три числа в порядке возрастания - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
emiln00b
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 32
30.03.2013, 15:14     Три числа в порядке возрастания #1
Только начинаю программировать в Borland C++.
Нужно три введенных числа, упорядочить по возрастанию.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>
int main()
{
int a,b,c;
cout<< "vvedite tri chisla= ";endl;
cin>>a;
cin>>b;
cin>>c;
if (a>b) swap(a,b);
if (b>c) swap(b,c);
if (a>b) swap(a,b);
cout<<a;
cout<<b;
cout<<c;
getch();
}
Пишет: function "swap" should have a prototype.
помогите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2013, 15:14     Три числа в порядке возрастания
Посмотрите здесь:

C++ Все числа от 1 до К включительно отсортируйте в порядке возрастания суммы делителей числа (сортировка пузырьком)
C++ Вывести все целые числа, расположенные между данными числами, включая сами эти числа, в порядке их возрастания
C++ Ввести три числа и вывести их в порядке возрастания
Вывести данные три числа в порядке возрастания C++
C++ Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
supra7sky
 Аватар для supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
30.03.2013, 15:20     Три числа в порядке возрастания #2
Ф-я должна иметь прототип. Ищите в каком заголовочном файле находится swap и подключите его.
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>
#include <conio.h>
using namespace std;
 
void _swap(int &a, int &b);
 
int main()
{
int a,b,c;
cout<< "vvedite tri chisla= " << endl;
cin >> a >> b >> c;
if (a>b) _swap(a,b);
if (b>c) _swap(b,c);
if (a>b) _swap(a,b);
cout << a << b << c;
 
system("pause");
return 0;
}
 
void _swap(int &a, int &b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}
emiln00b
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 32
30.03.2013, 15:49  [ТС]     Три числа в порядке возрастания #3
Спасибо, так работает.
Цитата Сообщение от supra7sky Посмотреть сообщение
void _swap(int &a, int &b);
вот это, я так понимаю и есть прототип?

Цитата Сообщение от supra7sky Посмотреть сообщение
void _swap(int &a, int &b)
{
* * int temp;
* * temp = a;
* * a = b;
* * b = temp;
}
а это для чего?
alexanderxxx
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 44
30.03.2013, 16:30     Три числа в порядке возрастания #4
Цитата Сообщение от emiln00b Посмотреть сообщение
Спасибо, так работает.

вот это, я так понимаю и есть прототип?


а это для чего?
Функция, изменения местами a и b, судя по всему.
supra7sky
 Аватар для supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
30.03.2013, 18:30     Три числа в порядке возрастания #5
Цитата Сообщение от emiln00b Посмотреть сообщение
Спасибо, так работает.

вот это, я так понимаю и есть прототип?

а это для чего?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//#include lalala
 
void _swap(int &a, int &b); //прототип (ф-я без тела)
 
int main()
{
 int a, b;
 //.....
 _swap(a, b); //Вызов
 //....
 return 0;
}
 
void _swap (int &a, int &b) //Это ф-я написанная самостоятельно. Ее определение
{
 //тело ф-ии
}
Прототип это одна строчка с именем и параметрами ф-ии. Та что самая первая.

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

Можно удалить прототип и переместить определение до вызова. Тогда тоже все будет работать.

Добавлено через 3 минуты
Цитата Сообщение от emiln00b Посмотреть сообщение
а это для чего?
Это ф-я которая меняет местами значение в переменных. Тоже самое что и swap(), только своими руками.
Yandex
Объявления
30.03.2013, 18:30     Три числа в порядке возрастания
Ответ Создать тему
Опции темы

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