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

Самый редко встречающийся элемент в массиве - 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; //создаем обьект на второй класс public: CFirst(); //конструктор по умол 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)сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает единицу. Освободившиеся в конце массива элементы заполнить нулями. Массив задается пользователем. подробнее

Показать сообщение отдельно
Catstail
Модератор
22317 / 10722 / 1744
Регистрация: 12.02.2012
Сообщений: 17,798
12.01.2014, 14:39     Самый редко встречающийся элемент в массиве
Цитата Сообщение от xoror Посмотреть сообщение
Вон какую критику получил
- да не критика это вовсе... Мелкая придирка. Во-первых, оптимизирующий компилятор в состоянии распознать, что в цикле строка не меняется, так что нет необходимости перевычислять эту длину на каждом витке. А во-вторых, код легко чуть подправить, и база для "критики" исчезнет:

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
void PrintRare(char *s)
{
    unsigned int i,min,l,Freq[256];
    char q;
 
    l=strlen(s);
 
    /* в Freq[i] будет частота символа с кодом i */ 
 
    for (i=0; i<256; i++) Freq[i]=0; /* чистим */
 
    for (i=0; i<l; i++)
    {
        q=s[i];       /* код очередного символа */
        Freq[q]++; /* увеличиваем соотв. элемент Freq */
    }
 
    /* ищем минимум частот (отличных от нуля!) */
 
    min=l;
 
    for (i=0; i<256; i++)
        if ((Freq[i] > 0) && (Freq[i] < min)) min=Freq[i]; /* если частота символа меньше текущей
                                                                            запомним */
 
    /* печать символов (всех) у которых частота минимальна */
 
    for (i=0; i<256; i++)
        if (Freq[i] == min)
        {
            q=i;
            cout << q << endl;
        }
}
вот и все... Комментарии - по просьбе TC.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru