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

Записать в выходной файл построчно все ключевые слова, встречающиеся в этой программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти наименьшую по модулю сумму http://www.cyberforum.ru/cpp-beginners/thread1204489.html
Даны натуральное число n и действительные числа a1,...,an. Ни одно из чисел a1,...,an не равно нулю. Найти наименьшее по модулю из всех значений вида ai+aj+...+ap, гдe 1<=i<j<...<p<=n.
C++ Какие из указанных объектов полиморфны? Проверьте правильно ли я указал полиморфные объекты? http://www.cyberforum.ru/cpp-beginners/thread1204484.html
Сформировать две строки, добавив в них символы C++
3. Даны две строки символов. Сформировать две новые строки: добавив перед каждым символом первой строки сочетания “da”, перед каждым символом второй строки - сочетание “no”. (Использовать вспомогательный алгоритм).
C++ Найти суммы чисел в двух интервалах
2. Даны целые числа a, b, c. Найти суммы чисел от a до b и от b до c. Использовать функцию, вычисляющую сумму всех целых чисел от x до y включительно; если x>y, то результат функции 0.
C++ Найти периметры и площади прямоугольников http://www.cyberforum.ru/cpp-beginners/thread1204467.html
1. S1=SSS(a1, b1); S2=SSS(a2, b2); S3=SSS(a3, b3); -------------------------------- int SSS(int a, int b) { return (a*b); }
C++ Даны стороны трех прямоугольников Найти периметры и площади этих прямоугольников 1. S1=SSS(a1, b1); S2=SSS(a2, b2); S3=SSS(a3, b3); -------------------------------- int SSS(int a, int b) { return (a*b); } подробнее

Показать сообщение отдельно
Somebody
2781 / 1595 / 143
Регистрация: 03.12.2007
Сообщений: 4,179
Завершенные тесты: 1
10.06.2014, 19:15     Записать в выходной файл построчно все ключевые слова, встречающиеся в этой программе
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
#include <algorithm>
#include <fstream>
#include <locale>
#include <map>
#include <set>
#include <string>
 
class OnlyLetters : public std::ctype<char>
{
public:
    explicit OnlyLetters(size_t refs = 0) : ctype(newTable, false, refs)
    {
        const mask* oldTable = classic_table();
        std::transform(
            oldTable, oldTable + table_size, newTable,
            [](mask m) { return m & alpha ? m : m | space; }
            );
    }
private:
    mask newTable[table_size];
};
 
 
int main()
{
    std::ifstream fin("input.txt");
    fin.imbue(std::locale(fin.getloc(), new OnlyLetters));
 
    const std::set<std::string> keywords = {
        "uses", "type", "var", "begin", "end", /*...*/
        };
    std::map<std::string, unsigned> wordCounts;
    std::string word;
    while (fin >> word)
        if (keywords.count(word) != 0)
            ++wordCounts[word];
 
    std::ofstream fout("output.txt", std::ios::out | std::ios::trunc);
    for (const auto& wordCount : wordCounts)
        fout << wordCount.first << " => " << wordCount.second << "\n";
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru