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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 605
#1

Как отсортировать массив? - C++

21.01.2013, 15:09. Просмотров 2217. Ответов 14
Метки нет (Все метки)

Добрый день.
Как стандартными средствами отсортировать вектор из целых чисел?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 15:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как отсортировать массив? (C++):

Отсортировать массив по убыванию, затем добавить недостающий элемент и отсортировать массив по возрастанию - C++
2) В массиве a ...a встречаются по одному разу все целые числа от 0 до n, кроме одного. За n действий найти пропущенное число с конечной...

Как отсортировать массив? - C++
Помогите пожалуста очень срочно надо. у меня не получается(( вот прога, тока мне еще надо преобразовать массив так чтобы сначала были все...

Скажите пожалуйста как отсортировать массив - C++
задано массив действительных чисел отсортировать массив по убыванию

Как отсортировать массив от минимального к максимальному? - C++
как можно отсортировать массив от минимального к максимульному на С++

Как отсортировать массив по убыванию и возрастанию? - C++
Здравствуйте. Как отсортировать массив по убыванию и возрастанию?

Как отсортировать массив с чередованием по два знака? - C++
есть массив целых чисел, количество элементов массива кратное 4. Как отсортировать массив через два знака что бы шли два положительных...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
21.01.2013, 15:10 #2
http://www.cplusplus.com/reference/algorithm/sort/
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
21.01.2013, 15:29 #3
Алгоритмы сортировок
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 605
21.01.2013, 16:01  [ТС] #4
Я не хочу изобретать велосипед. Нужна одна функция, которая отсортирует, как в Qt.
sort не работает, делал как в примере, только добавление через push_back.
HighPredator
5477 / 1843 / 343
Регистрация: 10.12.2010
Сообщений: 5,435
Записей в блоге: 3
21.01.2013, 16:54 #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
#include<iostream>
#include<algorithm>
#include<ctime>
 
using namespace std;
 
int main()
{
    srand(time(0));
    const int N=100;
    int a[N];
    for(int i=0;i<N;i++) 
    {
        a[i]=rand()%100;
        cout<<a[i]<<" ";
    }
    cout<<endl<<"=================="<<endl;
    sort(&a[0],&a[N]);//сортировка
    for(int i=0;i<N;i++) cout<<a[i]<<" ";
    cout<<endl;
    getchar();
    return 0;
}
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 605
22.01.2013, 13:40  [ТС] #6
C++
1
2
3
map<int, string> sortedList;
...// набрали значений
sort(sortedList.begin(), sortedList.end());
ошибка: no match for 'operator-' in '__last - __first'
Почему не работает?
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,567
Записей в блоге: 17
22.01.2013, 13:48 #7
где вы надыбали std::map<> в приведенных вам примерах ?
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 605
22.01.2013, 13:55  [ТС] #8
Причем тут приведенные примеры? Название темы: Как отсортировать массив?. Массивом может быть что угодно.
Вы знаете, почему сортировка не работает?
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,567
Записей в блоге: 17
22.01.2013, 13:57 #9
Цитата Сообщение от progeR Посмотреть сообщение
Массивом может быть что угодно.
Вы знаете что такое массив ?
gray_fox
What a waste!
1511 / 1214 / 69
Регистрация: 21.04.2012
Сообщений: 2,550
Завершенные тесты: 3
22.01.2013, 13:58 #10
[progeR], map уже хранит данные отсортированными по ключу.
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 605
22.01.2013, 14:00  [ТС] #11
Так, ладно, с вами все понятно.

Кто знает, подскажите, как отсортировать мэп по ключам?
Цитата Сообщение от [progeR] Посмотреть сообщение
C++
1
2
3
map<int, string> sortedList;
...// набрали значений
sort(sortedList.begin(), sortedList.end());
ошибка: no match for 'operator-' in '__last - __first'
Почему не работает?
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,567
Записей в блоге: 17
22.01.2013, 14:01 #12
Цитата Сообщение от progeR Посмотреть сообщение
Так, ладно, с вами все понятно.
Кто знает, подскажите, как отсортировать мэп по ключам?
Нет, это с вами все понятно...

Цитата Сообщение от progeR Посмотреть сообщение
Вы знаете, почему сортировка не работает?
Факир был пьян, фокус не удался...

P.S. Литература C++
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 605
22.01.2013, 14:03  [ТС] #13
Цитата Сообщение от gray_fox Посмотреть сообщение
[progeR], map уже хранит данные отсортированными по ключу.
Не увидел Ваше сообщение. Эээ, а в каком порядке отсортированы? По убыванию значения ключа, по возрастанию ключа. А если мне не устраивает предложенная сортировка?
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,567
Записей в блоге: 17
22.01.2013, 14:05 #14
Цитата Сообщение от progeR Посмотреть сообщение
По убыванию значения ключа, по возрастанию ключа.
std::map<> - не массив http://ru.wikipedia.org/wiki/%D0%9A%...B5%D0%B2%D0%BE
gray_fox
What a waste!
1511 / 1214 / 69
Регистрация: 21.04.2012
Сообщений: 2,550
Завершенные тесты: 3
22.01.2013, 14:05 #15
[progeR], по возрастанию. Если не устраивает, можно изменить (3-й параметр в шаблоне класса map).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2013, 14:05
Привет! Вот еще темы с ответами:

Как отсортировать массив с сохранением исходного порядка? - C++
Задание такое: переставить элементы массива так, чтобы сначала шли все отриц. элементы, затем все нулевые элементы массива, затем все...

Как отсортировать двумерный массив по сумме элементов в строке - C++
Дан массив 4 4 5 5 5 5 5 5 5 5 5 4 4 5 4 надо чтоб получилось 5 5 5 5 5 4 4 5 5 5 5 4 4 5 4

Qsort() Как отсортировать массив объектов по полю объекта - C++
Здравствуйте! Никак не могу сладить с функцией qsort(). У меня есть класс, и в нем нужно сделать сортировку по ОДНОМУ элементу...

Как отсортировать двумерный массив по возрастанию методом пузырька? - C++
Напишите пожалуйста код. Нигде не могу найти(


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.01.2013, 14:05
Ответ Создать тему
Опции темы

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