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

Массив: Найти такую неразрывную последовательность положительных чисел, сумма элементов у которой максимальная. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++11 новые классы стандартной библиотеки http://www.cyberforum.ru/cpp-beginners/thread834844.html
Здравствуйте. Программирую в eclipse на С++, использую С++11. Код в новом стандарте компилируется, однако мне нужен новый класс initializer_list (+ ещё другие новые классы). Посмотрел, что сам заголовочный файл есть в системе. Директива include его находит. Однако std::initializer_list не воспринимает, пишет что-то вроде "нет такого элемента в пространстве имён". Кроме этого, не видит конструктор...
C++ Инлайн-функция замедляет работу Здравствуйте! видимо что-то делаю неправильно...имею код. Запускаю скомпилированную программу - работает с одной скоростью. Копипастю код в инлайн функцию - скорость выполнения резко уменьшается. если кому интересно - вот начальный код // Task3.cpp: определяет точку входа для консольного приложения. // #include <stdlib.h> #include <math.h> #include <sys/time.h> #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread834841.html
Даны шесть различных чисел. Определить максимальное из них C++
Даны шесть различных чисел. Определить максимальное из них. (Определить функцию, находящую максимум из двух различных чисел.) Еще одна подобная тема, и последуют санкции.
Выяснить является ли хоть одно из данных чисел палиндромом(перевёртышем) C++
Даны 2 натуральных числа выяснить является ли хоть одно из них палиндромом(перевёртышем) тоесть таким числом десятичная запись которого читается одинаково слева на право и справо на лево.(определить функции позволяющие распозновать числа палиндромы)
C++ Лучшие ресурсы в Интернет - разработчикам C++ http://www.cyberforum.ru/cpp-beginners/thread834824.html
Все источники широко известны - но тем не менее: http://strongcpp.blogspot.ru/2013/04/c.html
C++ Получить все шестизначные счастливые номера Получить все шестизначные счастливые номера. Счастливым называют такое шестизначное число, в котором сумма ею первых трех цифр равна сумме его последних трех цифр. (Определить функцию для расчета суммы цифр трехзначного числа. Перечитайте правила форума. Тема должна быть создана в соответствующем разделе. Название темы должно быть информативным. подробнее

Показать сообщение отдельно
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
11.04.2013, 21:10     Массив: Найти такую неразрывную последовательность положительных чисел, сумма элементов у которой максимальная.
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
#include <iostream>
#include <array>
#include <functional>
#include <algorithm>
#include <iterator>
 
int main()
{
    setlocale(0,"");
    
    const size_t size = 28;
    std::array<int, size> ar = {-4,6,2,6,-7,-3,6,0,4,3,8,1,-9,-2,4,6,7,1,3,1,0,2,-6,4,3,8,-7,4};
    
    int sum = 0;
    std::pair<std::array<int, size>::iterator, std::array<int, size>::iterator> interval;
    for (auto start = ar.begin(), stop = start; start <= ar.end(); start = ++stop)
    {
        start = std::find_if(start, ar.end(), std::bind(std::greater_equal<int>(), std::placeholders::_1, 0));
        if (start != ar.end()) 
        {
            stop =  std::find_if(std::next(start, 1), ar.end(), std::bind(std::less<int>(), std::placeholders::_1, 0));
            int current_sum = std::accumulate(start, stop, 0);
            if (current_sum > sum)
            {
                sum = current_sum;
                interval = std::make_pair(start, stop);
            }
            //std::copy(start, stop, std::ostream_iterator<int>(std::cout, " "));
            //std::cout<<"\n";
        }
    }
    
    std::cout<<"Result: ";
    if (interval.first == interval.second)
        std::cout<<"No match\n";
    else
    {
        std::copy(interval.first, interval.second, std::ostream_iterator<int>(std::cout, " "));
        std::cout<<"\nSum: "<<sum<<"\n";
    }
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru