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

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

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

C++ Сортировка массива(вектора)структур по одному полю
Сортировка вектора, после добавление элементов C++
Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А C++
После каждого четного элемента массива вставить два элемента с тем же значением, после чего полученный массив отсортировать по убыванию C++
После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
22.08.2012, 06:52     Сортировка вектора массива после удалание элемента #2
Вы должны, прежде всего, определить, какой вектор будет называться "большим"... например, отсортируйте все векторы, чтобы у Вас было что-то вроде v[0] = {10, 9, 8...}, v[1] = {9, 8, 7...}. в таком случае, Вы можете сортировать старшие не равные друг другу элементы векторов.
roonet_
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 27
22.08.2012, 08:25  [ТС]     Сортировка вектора массива после удалание элемента #3
пример бы
Пaтрик
 Аватар для Пaтрик
394 / 387 / 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>());
RaiaNKnight
 Аватар для RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 458
Записей в блоге: 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>());
Вы забыли удалить элемент из вектора
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
22.08.2012, 08:58     Сортировка вектора массива после удалание элемента #6
Цитата Сообщение от RaiaNKnight Посмотреть сообщение
Вы забыли удалить элемент из вектора
моей целью было показать пример сортировки по убыванию, а не выполнение задания ТС
RaiaNKnight
 Аватар для RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 458
Записей в блоге: 1
22.08.2012, 09:15     Сортировка вектора массива после удалание элемента #7
Цитата Сообщение от Пaтрик Посмотреть сообщение
моей целью было показать пример сортировки по убыванию, а не выполнение задания ТС
А, понятно
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.... и.т.д
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2012, 06:47     Сортировка вектора массива после удалание элемента
Еще ссылки по теме:

C++ Сортировка массива до и после определенного элемента
C++ Сортировка массива (вектора) структур по заданному полю

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

Или воспользуйтесь поиском по форуму:
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;
}
Yandex
Объявления
23.08.2012, 06:47     Сортировка вектора массива после удалание элемента
Ответ Создать тему
Опции темы

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