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

Поиск анаграмм - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ помогите определить баг или недочёт в программе. http://www.cyberforum.ru/cpp-beginners/thread366958.html
Задача ввести с клавиатуры массив и вывести на экран наибольший его элемент. Проблема заключается в if когда s<mas он всё время перескакивает на else вместо s=mas. #include <stdio.h> #include...
C++ Динамическое выделение памяти Подскажите как выделить динамически память мод двумерный массив... Спасибо. ... int *mass = new int ; //int *mass = new int ; ) Не работает... ... http://www.cyberforum.ru/cpp-beginners/thread366957.html
unistd.h C++
как добавить unistd.h в биб Visual studio ??? закидываю в папку с проектом читается не правильно (((
C++ Целочисленная арифметика
Добрый вечер. Пропустил практику по информатике, не понимаю по какому принципу решать задачу. Собственно вот: тема - целочисленная арифметика. Задание: дано вещественное число...
C++ error LNK2019: ссылка на неразрешенный внешний символ Что это? http://www.cyberforum.ru/cpp-beginners/thread366911.html
Всем доброго вечера что это такое за непонятная ошибка? error LNK2019: ссылка на неразрешенный внешний символ и Ошибка 2 fatal error LNK1120: 1 неразрешенных внешних элементов ...
C++ Запуск/Создание Windows Form в Win32 приложение ! Здравствуйте! Использую Visual Studio 2010. Учусь делать приложение игру на директх. Вопрос такой как запустить Форму видоус формс в вин32 приложении? Где его создать ? Как добавить в проект? Как... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
17.10.2011, 18:08
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/////////////////////////////////////////////////////////////////////////////////////////
//Есть файл "in.txt" с каким-либо списком слов (до 10000). Одна строка - одно слово.
//Нужно найти все анаграммы и вывести их в файл "out.txt".
//Например во входном файле:
//kot
//polet
//tok
//leto
//teplo
//kto
//zima
//
//Тогда на выходе:
//kot
//tok
//kto
//polet
//teplo
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <fstream>
#include <functional>
#include <iostream>
#include <set>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
typedef std::set<char>  T_char_set;
/////////////////////////////////////////////////////////////////////////////////////////
struct T_anagrams_less : public std::binary_function<const T_str&, const T_str&, bool>
{
    bool operator() 
        (
            const T_str&  A,
            const T_str&  B
        )
    {
        return      T_char_set( A.begin(), A.end() )
                <   T_char_set( B.begin(), B.end() );
    }
};
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::multiset<T_str, T_anagrams_less>  T_anagrams;
/////////////////////////////////////////////////////////////////////////////////////////
void  find_anagrams
    (
        const T_str&  ifilename,
        const T_str&  ofilename
    )
{
    std::ifstream   ifile( ifilename.c_str() );    
    T_anagrams      anagrams;
 
    std::copy
        (
            std::istream_iterator<T_str>(ifile),
            std::istream_iterator<T_str>(),
            std::inserter( anagrams, anagrams.begin() )      
        );
 
    std::ofstream   ofile( ofilename.c_str() );
    for(T_anagrams::const_iterator  anagr_it = anagrams.begin();
        anagr_it != anagrams.end(); ++anagr_it)
    {
        if(anagrams.count(*anagr_it) == 1) continue;
        ofile << *anagr_it
              << std::endl;
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{    
    find_anagrams("in.txt", "out.txt");
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru