Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
rockstarone
13 / 13 / 9
Регистрация: 23.10.2014
Сообщений: 184
#1

Отсортировать 5 чисел за 7 сравнений - C++

21.02.2015, 01:09. Просмотров 517. Ответов 3
Метки нет (Все метки)

Отсортировать 5 чисел за 7 сравнений
http://www.cyberforum.ru/cpp-beginners/thread1123544.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2015, 01:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Отсортировать 5 чисел за 7 сравнений (C++):

Посимвольное сравнений чисел.
Здравствуйте! Подскажите, как решить следующую задачу. Требуется посимвольно...

Сортировка 5 чисел не более чем за 7 сравнений
Даны 5 попарно различных целых чисел. Упорядочить их по возрастанию, используя...

Отсортировать последовательность чисел
Дана последовательность действительных чисел а1,a2 ... аn (n>=2 наперед...

Отсортировать 8 чисел только 16 сравнениями
Как отсортировать 8 чисел только 16 сравнениями?? Может у кого есть идеи?

Отсортировать 5 чисел в порядке уменьшения
Есть задание: отсортировать и вывести 5 чисел в порядке уменьшения. Писать...

3
igorrr37
1863 / 1481 / 749
Регистрация: 21.12.2010
Сообщений: 2,473
Записей в блоге: 11
21.02.2015, 11:51 #2
Если значения чисел расположены в небольшом интервале то их можно отсортировать за 4 сравнения (сравнение одного числа из массива с другим числом из массива)
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>
 
int main()
{
    int arr[] = {10, 9, 7, 15, 10};
    int siz = sizeof(arr) / sizeof(*arr);
    int max = arr[0];
    for(int i = 1; i < siz; ++i)
    {
        if(arr[i] > max) max = arr[i]; // 4 sravneniya
    }
    int const pSiz = max+1;
    int* p = new int[pSiz];
    memset(p, 0, sizeof(int) * (pSiz));
    for(int i = 0; i < siz; ++i)
    {
        ++p[arr[i]];
    }
    for(int i = 0, k = 0; i < pSiz; ++i)
    {
        while(p[i] != 0)
        {
            arr[k] = i;
            ++k;
            --p[i];
        }
    }
    for(auto val : arr)
    {
        std::cout << val << '\n';
    }
    return 0;
}
0
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,193
Завершенные тесты: 1
21.02.2015, 12:01 #3
igorrr37, А такие сравнения не в счет:
Цитата Сообщение от igorrr37 Посмотреть сообщение
i < siz
Цитата Сообщение от igorrr37 Посмотреть сообщение
p[i] != 0
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,437
Записей в блоге: 30
21.02.2015, 15:00 #4
Цитата Сообщение от rockstarone Посмотреть сообщение
Отсортировать 5 чисел за 7 сравнений
Задача требует более конкретной постановки. По крайней мере надо понимать, задача математическая, программерская, инженерная (например, реализация микросхемы, которая сортирует 5 чисел), или ещё какая-то. И понять, что считать сравнением, а что не считать. Дабы не наплодили всяких извращений а-ля пост #2
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2015, 15:00
Привет! Вот еще темы с решениями:

Отсортировать массив чисел методом пузырька
помогите пожалуйста!!!! отсортировать массив чисел методом пузырька чтобы...

Отсортировать первые 10 чисел массива по убыванию
Заполнить массив из 20 элементов целыми числами от 1 до 20. Отсортировать...

Отсортировать по возрастанию массив целых чисел
Помогите пожалуйста срочно нужно но сам не успеваю. Задание : определить на...

Массив 16-ричных чисел отсортировать по неубыванию
Массив чисел, заданных в 16 системе счисления в текстовом файле (по одному...


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

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

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