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

Самый редко встречающийся элемент в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран сведения об однофамильцах содержащиеся в файле http://www.cyberforum.ru/cpp-beginners/thread1068749.html
Привет, ребят. Вы мне очень помогли с прошлой задачей) подскажите пожалуйста и с последней) я её начала немного делать( пробовала вносить данные в файлик, по методичке). Условие задачи такое: Создать...
C++ Неизвестная ошибка Ребята все работает все запускается, но ошибка не исчезает... Подскажите... http://www.cyberforum.ru/cpp-beginners/thread1068743.html
Обратится ко второму классу C++
Пытаюсь через вызов первого класса вывести info второго класса, но никак :(соответственно все разбиваю по файлам) Cfirst.h #ifndef CFIRST #define CFIRST class CFirst{ CSecond* second;...
C++ Приведение типов
В чем различие привидения типа (type)expression, от type(expression)?
C++ Выполнения кода раз в 5 минут http://www.cyberforum.ru/cpp-beginners/thread1068695.html
Привет, как сделать так, чтоб код выполнялся раз в 5 минут ? Знаю про Sleep(), но нужно чтоб код работал на Win,MacOS,Linux
C++ Вычислить сумму элементов массива с нечетными номерами Вычислить: 1)сумму элементов массива с нечетными номерами 2)сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы,... подробнее

Показать сообщение отдельно
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
12.01.2014, 00:15
Tulosba, действительно квадрат, но это больше вопрос оптимизации нежели сложности самого алгоритма, так что терпимо (:
koto_fey,
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <cstring>
 
void PrintRare(const char *str)
{
    const int n = 256;
    std::size_t frequency[n] = {0},
                strlen       = std::strlen(str);
 
    for (int i = 0; i < strlen; ++frequency[str[i++]]);
 
    std::size_t max = *std::max_element(std::begin(frequency), std::end(frequency)),
                min = max;
    for (int i = 0; i < n; ++i)
    {
        if (frequency[i])
        {
            min = std::min(min, frequency[i]);
        }
    }
 
    for (const std::size_t &count : {min, max})
    {
        for (int i = 0; i < n; ++i)
        {
            if (frequency[i] == count)
                std::cout << char(i) << " ";
        }
        std::cout << std::endl;
    }
}
 
int main(int argc, char* argv[])
{
    char *S = "aasaassgkldfkeej";
    PrintRare(S);
    return 0;
}
Это типа средней сложности (я о сложности кода). Кто знает как можно найти минимум используя библиотечные функции? Просто там надо отфильтровывать все нули, в общем то в этим у меня и возникла проблема.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru