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

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

Войти
Регистрация
Восстановить пароль
 
roonet_
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 27
#1

Сортировка вектора массива после удалание элемента - C++

22.08.2012, 05:35. Просмотров 561. Ответов 8
Метки нет (Все метки)

дан массив векторов из 20 чисел; vectorArr[20] = {0,1,2,3,4,5...};
удаляем методом vectorArr.erase(vectorArr.begin()+index);
вопрос : как отсортировать массив по убыванию после удаления?
типа ( выбрали число vectorArr[3] , тогда vectorArr[4] принимает значение vectorArr[3] т.е равная трём. и так далее до 20.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2012, 05:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка вектора массива после удалание элемента (C++):

Сортировка массива до и после определенного элемента - C++
Есть одномерный массив из 20 последовательных элементов. Нужно: перемешать элементы массива, выбрать случайный элемент и отсортировать...

Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А - C++
Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А на начало, а...

После каждого четного элемента массива вставить два элемента с тем же значением, после чего полученный массив отсортировать по убыванию - C++
Ребят, помогите с задачкой новичку. После каждого четного элемента массива вставить два элемента с тем же значением, после чего...

Сортировка вектора, после добавление элементов - C++
Доброго. Есть класс массив. После каждого добавления элемента он должен сортировать элементы по возрастанию. Вот упрощенный пример: ...

Сортировка массива(вектора)структур по одному полю - C++
Код:#include <iostream> #include <sstream> #include <vector> #include <algorithm> struct Person{ std::string surname,name; ...

Сортировка массива (вектора) структур по заданному полю - C++
Нужно отсортировать массив по полю структуры. Все поля типа string. struct DatabaseData{ std::string aPointOfDeparture;//Пункт...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
22.08.2012, 06:52 #2
Вы должны, прежде всего, определить, какой вектор будет называться "большим"... например, отсортируйте все векторы, чтобы у Вас было что-то вроде v[0] = {10, 9, 8...}, v[1] = {9, 8, 7...}. в таком случае, Вы можете сортировать старшие не равные друг другу элементы векторов.
0
roonet_
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 27
22.08.2012, 08:25  [ТС] #3
пример бы
0
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
22.08.2012, 08:39 #4
Я один не понял вопроса?
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
 
int main()
{
   std::vector<int> vec = { 1, 2, 3, 4, 5 };
   std::sort(vec.rbegin(), vec.rend());
   std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
}
link

Или:
C++
9
std::sort(vec.begin(), vec.end(), std::greater<int>());
0
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
22.08.2012, 08:54 #5
Ну как-нибудь вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main()
{
    const int n=20;
    vector <int> a(n);
    for(unsigned int i=0;i<a.size();i++)
        a[i]=i+1;
    int pos;
    cin>>pos;
    a.erase(a.begin()+pos);
    reverse(a.begin(),a.end());
    cout<<endl;
    for(unsigned int i=0;i<a.size();i++)
        cout<<a[i]<<' ';
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Пaтрик Посмотреть сообщение
Я один не понял вопроса?
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
 
int main()
{
   std::vector<int> vec = { 1, 2, 3, 4, 5 };
   std::sort(vec.rbegin(), vec.rend());
   std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
}
link

Или:
C++
9
std::sort(vec.begin(), vec.end(), std::greater<int>());
Вы забыли удалить элемент из вектора
0
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
22.08.2012, 08:58 #6
Цитата Сообщение от RaiaNKnight Посмотреть сообщение
Вы забыли удалить элемент из вектора
моей целью было показать пример сортировки по убыванию, а не выполнение задания ТС
0
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
22.08.2012, 09:15 #7
Цитата Сообщение от Пaтрик Посмотреть сообщение
моей целью было показать пример сортировки по убыванию, а не выполнение задания ТС
А, понятно
0
roonet_
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 27
23.08.2012, 05:31  [ТС] #8
это же с конца массива на начало массива сортирует.
а мне надо чтоб последовательно типа убрали [5] элемент тогда [5] элемент присваивает значение шестого [6]
arr[5] = 6, arr[6] = 7, arr[7] = 8.... и.т.д

Добавлено через 15 секунд
это же с конца массива на начало массива сортирует.
а мне надо чтоб последовательно типа убрали [5] элемент тогда [5] элемент присваивает значение шестого [6]
arr[5] = 6, arr[6] = 7, arr[7] = 8.... и.т.д
0
nsashans
7 / 7 / 0
Регистрация: 16.07.2012
Сообщений: 56
23.08.2012, 06:47 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    vector<int> arr;
    for( int i=0; i < 10; i++ ) {
      arr.push_back(i);
    }
    arr.erase(arr.begin()+5, arr.end()-4);
 
    for( int i = 0; i < arr.size(); i++ ) {
      cout << arr[i];
    }
    cout << endl;
 
    cin.get();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2012, 06:47
Привет! Вот еще темы с ответами:

Найти номер минимального по модулю элемента массива и сумму модулей после первого отрицательного элемента - C++
1.В одномерном массиве, состоящем из n вещественных элементов, вычислить: а)номер минимального по модулю элемента массива; б)сумму...

После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать - C++
после каждого четного элемента массива вставить 2 элемента с тем же значением.полученный масив отсортировать.очень хотелось бы с...

Сортировка массива. Ошибка после ввода размерности массива - C++
подскажите почему после ввода размерности массива выдает ошибку #include&lt;iostream&gt; #include&lt;cstdlib&gt; #include&lt;conio&gt; using...

Вставить после каждого нечетного элемента массива максимальный простой элемент этого же массива - C++
В целочисленный массив X(n) после каждого нечетного элемента вставить максимальный простой элемент этого же массива. Определить среднее...


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

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

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