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

Наибольшая длина отрезка - C++

Восстановить пароль Регистрация
 
ser_paramonov
Сообщений: n/a
22.05.2013, 17:02     Наибольшая длина отрезка #1
Дан массив целых чисел. Рассмотреть отрезки последовательности (подпоследовательности идущих подряд членов), состоящие из одинаковых чисел. Получить наибольшую из длин рассматриваемых отрезков.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 17:02     Наибольшая длина отрезка
Посмотрите здесь:

C++ длина наименьшего отрезка
Наибольшая средняя линия треугольника C++
C++ Длина отрезка по координатам вершин
Длина отрезка C++
задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все слова, длина которых нечетная) C++
Дан номер единицы длины и длина отрезка L в этих единицах. Вывести длину данного отрезка в метрах C++
C++ Наибольшая общая подстрока
C++ Наибольшая сумма элементов матрицы
Наибольшая цифра числа C++
появилась загвоздка с функцией. нужно вывести на экран строку, сост. из звездочек. Длина строки-параметр функциииз звезд. длина строки - C++
C++ Длина отрезка задана в дюймах, перевести значение длины в метрическую систему
Наибольшая возрастающая подпоследовательность за O(NlogN) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1424 / 761 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
22.05.2013, 21:01     Наибольшая длина отрезка #2
Ну, с помощью STL, вот как то так:
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
template<typename T>
bool func(const T& a, const T& b)
{
    return a != b;
}
 
int main ()
{
    std::vector<int> v {1,2,3,3,3,3,3,4,5,5,5,2,8,8,8,8,8,8,8,8,8};
    
    auto start = std::adjacent_find(v.begin(), v.end());
    auto stop = start;
    size_t max_length = 0, local_length = 0;
    while (start != v.end())
    {
        stop = std::adjacent_find(start, v.end(), func<int>);
        if (stop != v.end())
            stop++;
        std::copy(start, stop, std::ostream_iterator<int>(std::cout, " "));
        std::cout<<'\n';
        
        local_length = std::distance(start, stop);
        if (max_length < local_length)
            max_length = local_length;
        start = std::adjacent_find(stop, v.end());
    }
    std::cout<<"\nMax length is: "<<max_length;
    
    std::cout<<"\n\n";
    return 0;
}
Yandex
Объявления
22.05.2013, 21:01     Наибольшая длина отрезка
Ответ Создать тему
Опции темы

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