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

Найти в массиве самую длинную положительную последовательность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести элементы марицы, расположенные ниже главной диагонали, не используя условный оператор http://www.cyberforum.ru/cpp-beginners/thread1838723.html
Дана матрица размера M х N. Вывести ее элементы, расположенные ниже главной диагонали . Вывод элементов производить по столбцам, условный оператор не использовать
C++ Запрет записи в член класса Приветствую. В классе создается общедоступная переменная (секция public). Возможно ли сделать так, чтобы запись в эту переменую не членами класса была невозможна? class TMyClass { ... public: ... http://www.cyberforum.ru/cpp-beginners/thread1838722.html
C++ Найти углы треугольника с заданными на плоскости координатами
Составить программу вычисления величин: Углы треугольника с вершинами A(0;1.7), B(2;1.7), C(1.5;0,85) Пожалуйста если не трудно можете написать код? Только по проще.:help:
Шифрование/дешифрование шифра Трисемуса с любым ключевым словом C++
Помогите,пожалуйста написать программу по шифровке и дешифровке шифра Трисемус с любым ключевым словом в С++.
C++ Malloc и двумерный массив http://www.cyberforum.ru/cpp-beginners/thread1838654.html
Всем добрый день. Прошу помощи в коде. Пытаюсь создать двумерный массив в динамической памяти. Если делать одномерный, то всё ок. А если добавлять j, то пишет, что требуется массив или указатель. Как...
C++ Найти минимальное произведение ненулевых элементов, расположенных в нечётных строках заданных матриц 11. Даны три массива А(5,5), В(5,5), С(5,5). Найти минимальное произведение ненулевых элементов, расположенных в нечетных строках этих массивов подробнее

Показать сообщение отдельно
afront
931 / 885 / 334
Регистрация: 29.02.2016
Сообщений: 2,874
31.10.2016, 13:22
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
#include <iostream>
 
template<typename T, typename Cmp>
const T* find_maxseq(const T* _f, const T* _l, Cmp cmp, const T*& e){
    const T* p = _l;
    unsigned int m = 0, i = 0;
    do {
        if((_f == _l) || !cmp(*_f)){
            if(i > m){
                m = i;
                p = _f - i;
                e = _f;
            }
            i = 0;
        } else
            ++i;
    } while(_f++ != _l);
    return p;
}
 
template<typename T>
struct tcmp {
    bool operator () (const T& val) const {
        return (val > 0);
    }
};
 
 
int main(void){
    int a[] = { 2, 2, -3, 4, 12, 16, 32, -5, 6, 7};
    int n   = sizeof(a)/sizeof(a[0]);
 
    const int* e;
    const int* p = find_maxseq(a, a + n, tcmp<int>(), e); 
    if(p != a + n){
        //вывести
        for(const int* i = p; i != e; ++i)
            std::cout << *i << ' ';
        std::cout << std::endl;
 
        std::cout << "index: " << (ptrdiff_t)(p - a) << std::endl;
        std::cout << "count: " << (ptrdiff_t)(e - p) << std::endl;
    } else
        std::cout << "not found!" << std::endl;
    system("pause");
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru