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

Определение количества символов в тексте - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчет букв "и" во введенной строке http://www.cyberforum.ru/cpp-beginners/thread860031.html
помогите составить программу.
C++ В С++ может ли argv быть двухмерным массивом? int main(int argc, char *argv) { argv = tolower(argv); argv = tolower(argv); Вот что это означает? Когда у argv с двумя аргументами? http://www.cyberforum.ru/cpp-beginners/thread860024.html
как вернуть массив и как неявно получить атрибут объекта C++
хочу спросить как из функции вернуть массив int g(void){ int a; //как-то его заполнить return a; } массив не хочет возвращять
C++ Дан набор символов, среди которых есть двоеточие ‘:’. Определить, сколько символов ему предшествует
Дан набор символов, среди которых есть двоеточие ‘:’. Определить, сколько символов ему предшествует Дан набор символов, среди которых есть двоеточие ‘:’. Определить, сколько символов ему предш Помогите с программкой....пожалуйста...
C++ Некомпилиться в VC 2010 (работа с OpenGL) http://www.cyberforum.ru/cpp-beginners/thread860013.html
Пишу курсач по вот этой видюшке http://www.youtube.com/watch?v=TC2F78eE3CQ и не могу понять, в чем у меня ошибка в файле 1.срр, т.к. не раз проверял и вроде все норм сделал. Подскажите, что не так?
C++ Программа, заменяющая в исходной строке символов все единицы нулями и все нули единицами Помогите с программой. Составить программу, заменяющую в исходной строке символов все единицы нулями и все нули единицами. Замена должна выполняться с заданного символа. подробнее

Показать сообщение отдельно
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
09.05.2013, 18:59
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 <map>
#include <fstream>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, ""); //локализация, она и не нужна тут
    ifstream text("text.txt", ios::in);//файл для чтения
    if (!text.good()) return -1;//если файл пустой или ошибка при открытии, то выход
    char c;
    map<char, unsigned> chars; //упорядоченная хеш-таблица символ-частота появления
    do {
        c = text.get(); //берем из файла символ
        if (isalpha(c)) //если буква
            chars[c]++; //если в хеш-таблице такой символ встречался раньше, то увеличить его частоту на 1, 
                        //если не встречался, то добавить новый символ и увеличить частоту на 1
    } while (text.good());//цикл пока есть что читать
 
    //в итоге получили хеш-таблицу с буквами и частотами, упорядоченную по алфавиту (a, b, c, d...)
    c = begin(chars)->first; //буква самой первой записи хеш-таблицы
    unsigned max = begin(chars)->second; //ее частота
 
    //находим запись с максимальной частотой
    //не забываем, что хеш-таблица упорядочена
    for (auto &m : chars)
        if ( m.second > max) {
            c = m.first;
            max = m.second;
        }
 
    cout << c << ' ' << max;
 
    text.close();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru