Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
5 / 5 / 2
Регистрация: 13.06.2009
Сообщений: 67
1

упорядочивание по убыванию....

13.06.2009, 21:54. Просмотров 1177. Ответов 10
Метки нет (Все метки)

Здравствуйте, только начал знакомство с c++, попытался написать программу для упорядочивания 3 чисел в порядке убывания, но что-то не получается, мне кажется что дело в или в заголовке главной функции или в директивах, помогите!!!
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
#include <iostream>
using namespace std;
 
int main()
{
    int a;
    int b;
    int c;
    cout << "1 chislo:";
    cin >> a >> endl;
    cout << "2 chislo:";
    cin >> b >> endl;
    cout "3 chidlo:";
    cin >> c >> endl;
 
    if(a>b, b>c)
    {
        cout << a,b,c;
    };
    if(b>a, a>c)
    {
        cout << b,a,c;
    };
    if(c>b, b>a)
    {
        cout << c,b,a;
    };
    if(a>c, c>b)
    {
        cout << a,c,b;
    };
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2009, 21:54
Ответы с готовыми решениями:

Упорядочивание всего массива по убыванию
Что нужно сделать чтобы упорядочить этот массив по убыванию? #include &lt;stdio.h&gt; #include...

Упорядочивание столбцов по убыванию характеристик
Характеристика столбца – максимум среди сумм цифр элементов. Знаю c#, а тут пришлось писать на...

Упорядочивание по убыванию
Помогите сделать вторую часть задачи. Проверить, все ли строки матрицы упорядочены по убыванию....

Упорядочивание массива чисел по убыванию
Нужно написать программу в Visual Basic &quot;Упорядочивание массива чисел по убиванию&quot;

10
10 / 10 / 1
Регистрация: 24.12.2008
Сообщений: 32
13.06.2009, 22:22 2
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
#include <iostream>
using namespace std;
 
int main()
{
        int a;
        int b;
        int c;
        cout << "1 chislo:";
        cin >> a ;
    cout << "2 chislo:";
        cin >> b ;
    cout <<"3 chidlo:";
        cin >> c;
 
        if(a>b&&b>c)
        {
                cout << a<<b<<c;
        }
        if(b>a&&a>c)
        {
                cout << b<<a<<c;
        }
        if(c>b&&b>a)
        {
                cout << c<<b<<a;
        }
        if(a>c&&c>b)
        {
                cout << a<<c<<b;
        }
        system("pause");
}
подправил синтаксис немного...с условиями сам ...
1
5 / 5 / 2
Регистрация: 13.06.2009
Сообщений: 67
13.06.2009, 22:26  [ТС] 3
спасибо)
0
Эксперт С++
3183 / 864 / 39
Регистрация: 29.12.2008
Сообщений: 952
13.06.2009, 22:27 4
Не вдаваясь в логику, скажу 3 ошибки:
1) при использовании cin не используется endl (перевод каретки на следующую строку).
C++
1
2
cin >> a >> endl; //неверно
cin >> a;  // верно
2) почитай про логические операторы. Как ты написал - так не пишется:
C++
1
2
if(c>b, b>a) //неправильно
if(c>b && b>a) //правильно
3) оператор cout при твоем использовании будет работать некорректно. Нужно полноценно форматировать вывод:
C++
1
2
cout << b,a,c; //неправильно
cout<<b<<' '<<a<<' '<<c<<endl; //правильно
Про логику скажу пару слов: как ты делаешь, нужно тогда предусмотреть все варианты (их больше чем четыре). А можно сделать легче, всего в три сравнения, подумай как.
И ссылочка полезная про ввод-вывод.
0
5 / 5 / 2
Регистрация: 13.06.2009
Сообщений: 67
13.06.2009, 22:32  [ТС] 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
using namespace std;
 
int main()
{
    int a;
    int b;
    int c;
    cout << "1 chislo:";
    cin >> a ;
    cout << "2 chislo:";
    cin >> b ;
    cout <<"3 chidlo:";
    cin >> c;
 
    if(a>b&&b>c)
    {
        cout << a<<b<<c;
    }
    if(b>a&&a>c)
    {
        cout << b<<a<<c;
    }
    if(c>b&&b>a)
    {
        cout << c<<b<<a;
    }
    if(a>c&&c>b)
    {
        cout << a<<c<<b;
    }
    if(a>c&&c>b)
    {
        cout << a<<c<<b;
    }
    if(c>a&&a>b)
    {
        cout << c<<a<<b;
    }
    if(b>c&&c>a)
    {
        cout << b<<c<<a;
    }
    cin.get();
    cin.get();
}
Можно ли как то покороче с условиями?
0
Эксперт С++
3183 / 864 / 39
Регистрация: 29.12.2008
Сообщений: 952
13.06.2009, 22:49 6
Можно покороче и без логических связок:
C++
1
2
3
4
5
6
7
8
9
10
        if (a>b) 
        if (a>c) 
            if (b>c) cout<<a<<b<<c;
            else cout<<a<<c<<b;
        else cout<<c<<a<<b;
    else
        if (a>c) cout<<b<<a<<c;
        else 
            if (b>c) cout<<b<<c<<a;
            else cout<<c<<b<<a;
Наверное можно ещё короче и проще, но сейчас что-то не думается.
0
5 / 5 / 2
Регистрация: 13.06.2009
Сообщений: 67
13.06.2009, 23:21  [ТС] 7
вот так вот еще:
C++
1
2
3
4
5
6
7
8
9
if (a>b)
if (b>c) cout <<a<<b<<c;
else cout <<a<<c<<b;
if (b>a)
if (a>c) cout <<b<<a<<c;
else cout <<b<<c<<a;
if (c>a)
if (a>b) cout <<c<<a<<b;
else cout <<c<<b<<a;
так пойдет??

Добавлено через 16 минут 10 секунд
В общем получилась вот такая вот программка у меня:
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
#include <iostream>
using namespace std;
 
int main()
{
  int a;
  int b;
  int c;
  cout << "1 chislo: ";
  cin >> a ;
  cout << "2 chislo: ";
  cin >> b ;
  cout <<"3 chislo: ";
  cin >> c;
  if (a>b)
{
  if (b>c)
{ 
cout <<a<<b<<c;
}
else
{
cout <<a<<c<<b;
}
if (b>a)
{
if (a>c)
{
cout <<b<<a<<c;
}
else
{
cout <<b<<c<<a;
}
if (c>a)
{
if (a>b)
{
cout <<c<<a<<b;
}
else
{
cout <<c<<b<<a;
}
cin.get();
cin.get();
}
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
13.06.2009, 23:26 8
а вот ещё, мега-коротко
C++
1
2
3
4
5
6
#include <boost/lambda/lambda.hpp>
using namespace boost::lambda;
 
const int* p[] = {&a, &b, &c};
std::sort(p, p+3, *_1 < *_2);
std::for_each(p, p+3, std::cout << *_1 << " ");
0
5 / 5 / 2
Регистрация: 13.06.2009
Сообщений: 67
13.06.2009, 23:30  [ТС] 9
мне пока что до этого далеко
0
Search..
13.06.2009, 23:42
  #10

Не по теме:

Для меня это слишком трудно... Придется ждать Фундука, ыыы

0
Эксперт С++
3183 / 864 / 39
Регистрация: 29.12.2008
Сообщений: 952
14.06.2009, 14:14 11
Цитата Сообщение от Rififi Посмотреть сообщение
а вот ещё, мега-коротко ...
Круто, уважаю.
Можно так ещё (в качестве бреда)
C++
1
2
3
4
5
6
7
8
9
#define _(x,y,z) cout<<x<<y<<z
#define __(x) int x;cout<<"vvedite chislo: ";cin>>x;
#include <iostream>
using namespace std;
void main()
{
    __(a);__(b);__(c);
    (a>b)?(a>c)?(b>c)?_(a,b,c):_(a,c,b):_(c,a,b):(c>a)?(b>c)?_(b,c,a):_(c,b,a):_(b,a,c);
}
Кстати, есть ещё вариант, он не лучший, но весьма забавный, только что родилось.
Это решить задачу с помощью всего одного switch'a. Попробуйте в качестве разминки для ума.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2009, 14:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Упорядочивание в РМК по убыванию цены
Люди добрые, я к Вам опять за помощью. 1С:Предприятие 8.2 (8.2.15.318) Розница, редакция 1.0...

Упорядочивание трёх чисел по убыванию
Составить программу упорядочивания трёх чисел по убыванию. (Как решить?)

Упорядочивание по убыванию отрицательных элементов одномерного массива
Короче вот сама задача: Составить программу упорядочивания (по убыванию) отрицательных элементов...

Упорядочивание столбцов массива MxN по убыванию на java
Создать массив mxn, заполнить его случайными числами и упорядочить его столбцы по убыванию. Мой...


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

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

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