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

Удалить самую длинную цепочку четных элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ колобот http://www.cyberforum.ru/cpp-beginners/thread901931.html
Здравствуте! Имеется игровая технология программирования си++ колобот,для того чтобы пройти какую нибудь миссию необходимо программировать на языке си++, мне необходимо что были решения именно для...
C++ На с++билдер 6 (Описать функцию,которая подсчитывает количество чисел,принадлежащих интервалу [a,b] ) Описать функцию,которая подсчитывает количество чисел,принадлежащих интервалу в одномерном целочисленном массиве. Применить эту функцию к двум одномерным массивам разного размера. http://www.cyberforum.ru/cpp-beginners/thread901929.html
Перевод из Паскаля в C++ C++
Переведите программу из Паскаля в С++, пожалусйта Вот код : const nmax=100; var a: array of integer; i,j,n,m,min: integer; begin randomize; write('Введите размеры массива:');
C++ Сколько раз выполнится следующий цикл
Cколько раз выполнится цикл: int i = 0; whіlе (++i < 3) { Соnsоle.Writе(і); }
C++ Какие ошибки содержатся в представленном коде: http://www.cyberforum.ru/cpp-beginners/thread901892.html
Какие ошибки содержатся в представленном коде: сlass Тest { stаtіc voіd f(ref int а, оut іnt b) { a = 10 + b; } stаtic vоid Мaіn(string args) { int a;
C++ ошибка getch() программа с функцией getch() компилируется адекватно, но пр выполнении выскакивает такое окошко подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
15.06.2013, 21:38
Кликните здесь для просмотра всего текста
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <random>
 
void print( std::vector<int>& v )
{
    for( const auto& i : v )
    {
        std::cout << i << " ";
    }
    std::cout << std::endl;
}
 
bool isEven( int value )
{
    return value % 2 == 0;
}
 
int main()
{
    const int size = 10;
    std::vector<int> v(size);
    
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis( 1, 100 );
    // Заполнить вектор
    std::generate( begin(v), end(v), [&]() { return dis( gen ); } );
 
    print( v );
    
    typedef std::vector<int>::iterator viter;
    std::pair<viter, viter> range( end(v), end(v) );
 
    auto it = std::begin( v );
 
    // Найти цепочку четных элементов
    while( it != std::end( v ) )
    {
        auto start = std::find_if( it, std::end(v), isEven );
        if( start == std::end(v) ) break;
        auto end = std::find_if_not( start, std::end(v), isEven );
 
        if( std::distance( start, end ) > std::distance( range.first, range.second ) )
        {
            range.first = start;
            range.second = end;
        }
        it = end;
    }
 
    if( range.first != std::end(v) )
    {
        std::cout << "Even sequence: " << *range.first << "..." << *std::prev(range.second) << std::endl;       
        // Удалить последовательность четных
        v.erase( range.first, range.second );
        print( v );
    }
    else
    {
        std::cout << "Has not even elements\n"; 
    }
 
    // Сортируем
    std::cout << "Sorted:\n";
    std::sort( std::begin(v), std::end(v) );
    print( v );
 
    std::system( "pause" );
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru