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

сортировка - C++

Восстановить пароль Регистрация
 
tc
 Аватар для tc
1 / 1 / 0
Регистрация: 06.02.2011
Сообщений: 76
09.05.2011, 19:01     сортировка #1
ПОМОГИТЕ РЕШИТЬ ДАННУЮ ЗАДАЧУ на си, ЗАРАНЕЕ БЛАГОДАРЕН
дан ряд, содержащих N элементов (5<=N<=100). Требуется отсортировать их в порядке возврастания, отбрасывая при этом все повторяющие значения. при необходимости значения N после сортировки должно быть скоректировано.
ввод из файла sort.in
вывод из файла sort.out
пример
ввод
3 7 2 3 7 2 (N=6)
вывод
2 3 7(N=3)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2011, 19:01     сортировка
Посмотрите здесь:

C++ Сортировка подсчетом и LSD сортировка
C/C++ FAQ :: Быстрая сортировка (сортировка Хоара) C++
Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива C++
2 сортировки: пирамидальная сортировка и сортировка слиянием C++
Быстрая сортировка (сортировка Хоара) для связных списков C++
C++ Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом?
C++ Сортировка Шелла. Написал программу, не могу понять, почему сортировка не выполняется
Быстрая сортировка (сортировка методом Хоара) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.05.2011, 05:11     сортировка #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
#include <stdio.h>
int main(){
 
            freopen("sort.in", "r", stdin);
        freopen("sort.out", "w", stdout);
        int tmp, mas[100], N=0, i, j, tmp1;
    while (scanf("%d", &tmp) != EOF)
    {
    mas[N++]=tmp;
    }
    for(i=0; i<N-1; i++)
    {
        tmp=i;
        for(j=i+1; j<N; j++)
            if(mas[tmp]>mas[j])
                tmp=j;
        tmp1=mas[i]; mas[i]=mas[tmp]; mas[tmp]=tmp1;
    }
 
    for(i=0; i<N; i++)
    {
        if(!(i>0 && mas[i]==mas[i-1]))
            printf("%d ", mas[i]);
    }
    return 0; 
}
Yandex
Объявления
14.05.2011, 05:11     сортировка
Ответ Создать тему
Опции темы

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