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

максимальный из элементов встречающийся в матрице более 1 раза - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка оператора ввода вывода http://www.cyberforum.ru/cpp-beginners/thread850615.html
Есть два хэдера(header.h и Array.h) и исполняемая программа main.cpp в которой я как раз и обращаюсь к оператору ввода Array.h #pragma once #include <iostream> #include "header.h" class Array:...
C++ Эти треугольники являются подобными числа a и b выражают длинны катетов одного прямоугольного треугольника,с и d - другого. Эти треугольники являются подобными. помогите в этих программах я 0 http://www.cyberforum.ru/cpp-beginners/thread850614.html
C++ Использование LAPACK на c++
Здравствуйте! Помогите разобраться с установкой LAPACk на проект c++. Нужно реализовать алгоритмы разложений матриц. Подкиньте рабочий проект, а я уж сам потом разберусь Заранее спасибо
Передача массива в функцию по ссылке C++
Здравствуйте. Есть функция: void f(int &a) { int *p=&a; p=1; } Но почему-то при попытке передать ей массив ругается дебаггер: ...|10|error: invalid initialization of non-const...
C++ Структура в стеке http://www.cyberforum.ru/cpp-beginners/thread850572.html
Я наверное уже всех задолбал со своим стеком, но всё же мне еще нужна помощь)) Код, который ниже должен запрашивать у пользователя ввод структуры, которая после помещается в стеке. Так же программа...
C++ Работа с указателями Расскажите как работает каждая строка в коде char *A = "123456789"; unsigned B = 1; char *X = A + B; char *Y = A - (- B); подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.05.2013, 19:16
Вот такой вариант набросал:
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
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    std::vector<int> v;
 
    std::cout << "Введите последовательность чисел: ";
        std::istream_iterator<int> iit( std::cin );
        std::istream_iterator<int> eos;
        std::copy( iit, eos, std::back_inserter(v) );
 
        std::ostream_iterator<int> oit( std::cout, " " );
 
        // Сортируем
        std::sort( v.begin(), v.end() );
 
        // Удаляем не парные элементы
        int* prev = nullptr;
        auto it = v.begin();
        for( auto& e : v )
        {
                if( prev )
                {
                        if( *prev == e ) *it++ = e;
                }
                prev = &e;
        }
 
        // Удаляем лишние пары
        it = std::unique( v.begin(), it );
        v.resize( std::distance( v.begin(), it ) );
 
    // Находим максимум
        auto maxit = std::max_element( v.begin(), v.end() );
        if( maxit == v.end() )
        {
                std::cout << "Нет одинаковых элементов";
        }
        else
        {
                std::cout << "Максимальный повторяющийся элемент равен " << *maxit;
        }
 
        std::cout << std::endl;
        
    return 0;
}
https://ideone.com/YP4nyT
Вероятно, можно использовать стандартные алгоритмы для удаления неповторяющихся элементов. Мне что-то в голову не пришло.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.