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

Сортировка, без использования массивов - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Reiter
Сообщений: n/a
15.10.2008, 23:02     Сортировка, без использования массивов #1
Скажите, пожалуйста, можно-ли, имея в "распоряжении" только операторы выбора и циклы(никаких массивов!) выполнить следующее задание:
"Написать программу, сортирующую пять заданных чисел по мере их уменьшения." ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2008, 23:02     Сортировка, без использования массивов
Посмотрите здесь:

Сортировка файла без использования массивов C++
на использования массивов( array61,81) C++
C++ Решить без использования массивов
C++ Задача на вычисление суммы без использования массивов
Найти наиболее часто встречающееся число без использования массивов C++
C++ Вывод всех перестановок без использования массивов
Удалить числа из файла, без использования дополнительных массивов и файлов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ABTOP
 Аватар для ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
15.10.2008, 23:05     Сортировка, без использования массивов #2
Можно... вместо массива использовать альтернативное колличество переменных с разними именами...
Reiter
Сообщений: n/a
15.10.2008, 23:08     Сортировка, без использования массивов #3
Цитата Сообщение от ABTOP Посмотреть сообщение
Можно... вместо массива использовать альтернативное колличество переменных с разними именами...
А Вы не могли бы написать код?..у меня что-то это в голове не укладывается...
ABTOP
 Аватар для ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
15.10.2008, 23:15     Сортировка, без использования массивов #4
писаль долго вот алгоритм:
1) делаешь 5 переменных
2) проверяешь 1 с 2, если 2 больше то присваеваем его значение 1й переменной иначе остаёться всё без изменений...
3) проверяешь 1 с 3, если 3 больше то присваеваем его значение 1й переменной иначе остаёться всё без изменений...
4) проверяешь 1 с 4, если 4 больше то присваеваем его значение 1й переменной иначе остаёться всё без изменений...
5) проверяешь 1 с 5, если 5 больше то присваеваем его значение 1й переменной иначе остаёться всё без изменений...
6) проверяешь 2 с 3, если 3 больше то присваеваем его значение 2й переменной иначе остаёться всё без изменений...
и так далее....
в конце последняя проверка это проверка 4 с 5, если 5й больше 4й то присваеваем его значение 4й переменной иначе остаёться всё без изменений...
и в результате получиться что в начале наибольшее значения сохраняться а в конце наименьшие...
qwone
8 / 8 / 1
Регистрация: 18.08.2008
Сообщений: 129
15.10.2008, 23:26     Сортировка, без использования массивов #5
Код
int a1=1,a2=2,a3=3,a4=4,a5=5;

if a1>a2 swap(a1,a2);if a1>a3 swap(a1,a3);if a1>a4 swap(a1,a4);if a1>a5 swap(a1,a5);
if a2>a3 swap(a2,a3);if a2>a4 swap(a2,a4);if a2>a5 swap(a2,a5);
if a3>a4 swap(a3,a4);if a3>a5 swap(a3,a5);
if a4>a5 swap(a4,a5);
Ranofer
2 / 2 / 0
Регистрация: 04.09.2008
Сообщений: 20
15.10.2008, 23:36     Сортировка, без использования массивов #6
вот так еще можно..
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
#include <iostream>
using namespace std;
int main(){
    int a, b, c, d, e, temp;
    cin >> a >> b >> c >> d >> e;
    for(int i=0; i<4; i++){
        if(a < b){
             temp = a;
             a = b;
             b = temp;     
        }       
        if(b < c){
             temp = b;
             b = c;
             c = temp;     
        }
        if(c < d){
             temp = c;
             c = d;
             d = temp;     
        }
        if(d < e){
             temp = d;
             d = e;
             e = temp;     
        }
    }
    cout << a << " " << b << " " << c << " " << d << " " << e << endl;
    system("pause");
    return 0;
}
Reiter
Сообщений: n/a
16.10.2008, 00:14     Сортировка, без использования массивов #7
Чувствую себя придурком... Спасибо, люди! сам бы не додумался....

Ranofer, вот именно это и предполагалось, как я понимаю, большое спасибо за код!
ABTOP
 Аватар для ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
16.10.2008, 00:39     Сортировка, без использования массивов #8
Цитата Сообщение от Ranofer Посмотреть сообщение
вот так еще можно..
Код
    for(int i=0; i<4; i++){
    if(a < b){
         temp = a;
         a = b;
         b = temp;     
    }
    if(a < b){
         temp = a;
         a = b;
         b = temp;     
    }
Код то хороший, но зачем 2 раза одну и туже проверку делать...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2008, 09:07     Сортировка, без использования массивов
Еще ссылки по теме:

Числа Фибоначчи без использования рекурсии и массивов C++
Найти максимальный по модулю член последовательности без использования массивов C++
C++ Шейкерная сортировка без использования while цикла
Создать массив структур без использования массивов и нотации массивов C++
C++ Страуструп. Сортировка трех чисел .Как сделать проще код без циклов и массивов?

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

Или воспользуйтесь поиском по форуму:
Ranofer
2 / 2 / 0
Регистрация: 04.09.2008
Сообщений: 20
16.10.2008, 09:07     Сортировка, без использования массивов #9
Ой, сорри это лишнее конечно.
Сейчас поправлю.
Yandex
Объявления
16.10.2008, 09:07     Сортировка, без использования массивов
Ответ Создать тему
Опции темы

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