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

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

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

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

29.01.2014, 15:36. Просмотров 194. Ответов 3
Метки нет (Все метки)

Доброго времени суток!
У меня есть задачка, которая находит мин.элемент и сортирует массив по возрастанию от начала до конца. А мне нужно, что бы сортировка шла от позиции мин. элемента и до конца. Может кто знает что надо изменить в коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
 
        int min=*min_element(v.begin(),v.end());              // нахождение мин элемента
         int minpos=find (v.begin(),v.end(),min)- v.begin();  // и определение
                  cout<<"min=" <<min<<" pos="<<minpos;// его позиции
     {
 
// Стандартный вызов
//sort(all(v)); // Почувствуйте разницу
int me = *min_element(v.begin(), v.end());
vector<int>::reverse_iterator re = v.rbegin();
while (*re!=me)
    re++;
sort(v.begin(),v.end()); // Сортировка по возрастанию
    for (int i = 0; i<v.size(); i++)
    {
        cout << "V[" << i << "] = " << v[i] << endl;
    }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 15:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка массива от мин. элемента до последнего (C++):

Дано целое число N и набор из N целых чисел. Найти номера первого и последнего мин. элемента из данного набора - C++
Дано целое число N и набор из N целых чисел. Найти номера первого и последнего минимального элемента из данного набора и вывести их в...

Найти сумму первого максимального элемента массива А и последнего минимального элемента массива В - C++
Вот задание : Даны целочисленные массивы А и В. Найти сумму первого максимального элемента массива А и последнего минимального элемента...

Матрица динамическая. 1. максимальный элемент массива; 2. сумму элементов массива, расположенных до последнего положительного элемента - C++
Вариант 5 В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. максимальный элемент массива; 2. сумму элементов...

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

Нахождение последнего отрицательного элемента массива - C++
Программа ищет последний отрицательного элемент массива. Не могу понять ошибки программы: 3 from F:\...\2_17.C In file included from...

Количество повторов последнего элемента массива - C++
Как подсчитать количество повторений последнего элемента массива? Чтобы в ответе было: Последний элемент = 24 Количество повторов = 4...

3
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
29.01.2014, 15:52 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот эту строку:
C++
1
sort(min_element(v.begin(),v.end())/*v.begin()*/,v.end()); // Сортировка по возрастанию
1
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,126
29.01.2014, 15:55 #3
Как то так
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
#include <iostream>
#include <vector>
#include <cstdlib>
 
void input(int & var)
{
     var = rand() % 10;
}
 
void print(int & var)
{
     std::cout << var << " ";
}
 
bool vecSort(int left, int right)
{
     return left < right;
}
 
int main()
{
   const size_t SIZE = 10;
   std::srand(time(0));
   std::vector< int > vec(SIZE);
   std::for_each(vec.begin(), vec.end(), input);
   std::for_each(vec.begin(), vec.end(), print); std::cout << std::endl;
   std::sort(std::min_element(vec.begin(), vec.end()), vec.end(), vecSort);
   std::for_each(vec.begin(), vec.end(), print); std::cout << std::endl;
   
    system("PAUSE");
    return 0;
}
1
Dimoni4
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 6
29.01.2014, 16:02  [ТС] #4
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Вот эту строку:
C++
1
sort(min_element(v.begin(),v.end())/*v.begin()*/,v.end()); // Сортировка по возрастанию
Заменил свою строчку на вашу...теперь все работает как надо))) Спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 16:02
Привет! Вот еще темы с ответами:

Удаление последнего чётного элемента массива - C++
Здравствуйте,помогите дописать программу,пожалуйста. Нужно,чтобы программа удаляла последний чётный элемент массива.Что-то написал,но...

Возведение последнего элемента двумерного массива в квадрат - C++
Здравствуйте. У меня такой вопрос. Есть двуменый квадратный массив, размерность задается с клавиатуры. Например 4на4. выводится по спирали...

Составить условие достижения последнего элемента массива - C++
помогите придумать условие ,как правильно это записать в if(&quot;если массив достиг последнего элемента&quot;)

Найти номер последнего отрицательного элемента массива - C++
# include &lt;iostream&gt; using namespace std; void main () { int i=0; int p; setlocale(LC_ALL, &quot;rus&quot;); cout&lt;&lt;&quot;Введите числа...


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

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

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