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

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

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

список мин и макс элемент - C++

08.07.2013, 23:56. Просмотров 374. Ответов 2
Метки нет (Все метки)

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

Массив. Макс и мин элемент.Шаблоны и функции. - C++
Само задание вот: Найти max(a2,a4,...a(2k)+min(a1,a3,...a(2k+1). Короче, вроде бы найти макс и мин эл-т. Нужно сделать через...

Работа со стеком (найти мин и макс элемент) - C++
есть стек struct Stack { int info; //значение элемента Stack * next; //указатель на следующий элемент...

Ошибка в строке содержащую мин и макс элемент массива - C++
#include <iostream> #include <clocale> #include <cstdlib> #include <iomanip> int main() { using namespace std; ...

Поменять местами мин и макс элемент в каждой строке - C++
Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.

Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива - C++
В массиве (введенном пользователем) найти максимальный элемент среди отрицательных массива и найти минимальный элемент среди положительных...

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

2
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
09.07.2013, 12:08 #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
27
#include <iostream>
#include <list>
#include <algorithm>
#include <string>
#include <sstream>
#include <iterator>
 
int main()
{
    std::string str( "1 2 -3 0 4 5 12 6 7" );
    std::istringstream ist( str );
    std::list < int > lst;
 
    std::copy( std::istream_iterator < int >( ist ), std::istream_iterator < int >(), std::inserter( lst, lst.begin() ) );
    std::copy( std::begin( lst ), std::end( lst ), std::ostream_iterator < int >( std::cout, " " ) );
    std::cout << std::endl;
 
    std::list < int >::const_iterator itMin = std::find( lst.cbegin(), lst.cend(), *std::min_element( lst.begin(), lst.end() ) );
    std::list < int >::const_reverse_iterator itMax = std::find( lst.crbegin(), lst.crend(), *std::max_element( lst.begin(), lst.end() ) );
 
    lst.erase( itMin, itMax.base() );
 
    std::copy( std::begin( lst ), std::end( lst ), std::ostream_iterator < int >( std::cout, " " ) );
    std::cout << std::endl;
 
    return 0;
}
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
09.07.2013, 19:24 #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
33
34
35
36
37
#include <cstdlib>
#include <ctime>
#include <list>
#include <random>
#include <functional>
#include <iterator>
#include <algorithm>
#include <iostream>
 
using namespace std;
 
int main()
{        
    list<int> lst;
    generate_n(back_inserter(lst), 10,
        bind(uniform_int_distribution<>(0, 10), mt19937(time(nullptr))));
    
    for(auto item : lst)
        cout << item << ' ';
    cout << '\n';
    
    auto it_min_first = min_element(lst.begin(), lst.end());
    auto it_max_last = prev(max_element(lst.rbegin(), lst.rend()).base());
    
    const auto dist = distance(lst.begin(), it_max_last) - distance(lst.begin(), it_min_first);
    if(abs(dist) > 1) // если между минимальным и максимальным есть хотя бы один элемент
    {
        if(dist < 0) // если максимальный расположен перед минимальным
            lst.erase(next(it_max_last), it_min_first);
        else
            lst.erase(next(it_min_first), it_max_last);
    }
    
    for(auto item : lst)
        cout << item << ' ';
    cout << '\n';    
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2013, 19:24
Привет! Вот еще темы с ответами:

Мин-макс в списке - C++
не получается найти минимальный и максимальный элементы в списке: struct Node {int d,a; int value; Node *next; //указатель...

Определить макс и мин цифры - C++
Дано натуральное число (вводится с клавиатуры) 1) Определить две его максимальные цифры 2) Определить две его минимальные цифры ...

Одномерный массив макс мин - C++
Вообщем не могу выполнить 1\2 сумму нашел всё работает нормально но вот макс мин не могу найти и поменять местами мб подскажите что куда ) ...

Мин. и макс. элементы в файле - C++
Не находит мин. и макс. элементы. Где ошибка? int max=0,min=0; while(fin.read((char*)&amp;a,sizeof(a))) { if (a.oboroti &gt; max...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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