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

Найти число, повторяющееся максимальное количество раз - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Можно ли в массиве выбрать k идущих подряд элементов по условию? http://www.cyberforum.ru/cpp-beginners/thread1491256.html
Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать. Вот задания: (помогите кто с каким может, только не просто решить, а с объяснениями) Зарание спасибо! 4. Даны два целочисленных массива X и Y. Можно ли в первом из них выбрать такие k идущих подряд элементов X, X, …, X, чтобы X=Y, X =Y, …, X =Y? Написать...
C++ Найти длину k самой длинной «пилообразной (зубья вверх)» последовательности идущих подряд чисел Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать. Вот задания: (помогите кто с каким может, только не просто решить, а с объяснениями) Зарание спасибо! 3. Задан массив X. Найти длину k самой длинной «пилообразной (зубья вверх)» последовательности идущих подряд чисел: X<X>X<…>X . http://www.cyberforum.ru/cpp-beginners/thread1491255.html
C++ Покер
Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать. Вот задания: (помогите кто с каким может, только не просто решить, а с объяснениями) Зарание спасибо! 2. Покер. Задан массив из пяти чисел. Среди них: если одинаковы 5, то напечатать число 1, иначе если одинаковы 4, то напечатать число 2, иначе если одинаковы 3...
Найти число прямоугольников C++
Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать. Вот задания: (помогите кто с каким может, только не просто решить, а с объяснениями) Зарание спасибо! 1. На квадратном клетчатом листе бумаги размером 10*10 клеток нарисовано несколько прямоугольников. Каждый прямоугольник состоит из целых клеток, различные...
C++ Перевод числа в бинарное http://www.cyberforum.ru/cpp-beginners/thread1491246.html
Перевести заданное в десятичной системе число a в двоичную систему, используя функцию перевода. При передаче значения в функцию пользуйтесь указателями. #include <iostream> #include "conio.h" int *convertToBin(int *x) { int *a = new int; int i = 1; x = *x % 2;
C++ Советы начинающему программисту Всем доброго время суток! Спрошу кратко: начал заниматься программированием в академии (на данный момент изучаю C++) Проблема таки вот в чем: переходя к практике, спотыкаюсь об синтаксис и алгоритм решений проблем, может кто посоветует как решить данную проблему. Имеется ввиду м.б. есть какие-то книжки или справочники по алгоритмам, составление модели задач.%-) Ведь программирование это не... подробнее

Показать сообщение отдельно
Геомеханик
534 / 341 / 258
Регистрация: 26.06.2015
Сообщений: 770
01.07.2015, 18:42     Найти число, повторяющееся максимальное количество раз
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
#include <iostream>
#include <algorithm>
#include <cstddef>
 
 
int max_rep(int* f, int* l){
    int n = *f, *p;
    ptrdiff_t d, k = 0;
 
    //сортируем по-возрастанию
    std::sort(f, l);
 
    //далее пройдёмся по массиву
    while(f != l){
        p = f + 1;
 
        //подсчитываем повторы
        while((p != l) && (*p == *f))
            ++p;
 
        if((d = ptrdiff_t(p - f)) > k){
            k = d;
            n = *f;
        }
        f = p;
    }
    return n;
}
 
 
int main(void){
    int A[] = { 2, 3, 2, 1, 2, 1, 3, 2, 1 };
    int N   = sizeof(A)/sizeof(A[0]);
 
    std::cout << "max rep: " << max_rep(A, A + N) << std::endl;
    return 0;
}
Результат работы кода
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru