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

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

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

Отсортировать 5 чисел за 7 сравнений
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2015, 01:09
Ответы с готовыми решениями:

Отсортировать массив методом включения и обмена и определить количество сравнений
Дано линейный массив целых чисел. Отсортировать его методом включения и обмена...

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

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

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

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

3
igorrr37
1867 / 1483 / 751
Регистрация: 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
Модератор
Эксперт С++
7184 / 6680 / 4229
Регистрация: 18.12.2011
Сообщений: 17,627
Завершенные тесты: 1
21.02.2015, 12:01 3
igorrr37, А такие сравнения не в счет:
Цитата Сообщение от igorrr37 Посмотреть сообщение
i < siz
Цитата Сообщение от igorrr37 Посмотреть сообщение
p[i] != 0
0
Evg
Эксперт CАвтор FAQ
19288 / 7147 / 528
Регистрация: 30.03.2009
Сообщений: 19,997
Записей в блоге: 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

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

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

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


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

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

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