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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ помогите определить баг или недочёт в программе. http://www.cyberforum.ru/cpp-beginners/thread366958.html
Задача ввести с клавиатуры массив и вывести на экран наибольший его элемент. Проблема заключается в if когда s<mas он всё время перескакивает на else вместо s=mas. #include <stdio.h> #include <conio.h> #define n 100 void main() { int i,j;
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++ Целочисленная арифметика
Добрый вечер. Пропустил практику по информатике, не понимаю по какому принципу решать задачу. Собственно вот: тема - целочисленная арифметика. Задание: дано вещественное число ABCDEF.GHIKLM, в котором буквы это любые цифры (0..9) Нужно переставить группу цифр XX между цифрами Y, Z. У меня F G между L, M. Тоесть ИЗ ABCDEF.GHIKLM нужно получить ABCDE.HIKLFGM
C++ error LNK2019: ссылка на неразрешенный внешний символ Что это? http://www.cyberforum.ru/cpp-beginners/thread366911.html
Всем доброго вечера что это такое за непонятная ошибка? error LNK2019: ссылка на неразрешенный внешний символ и Ошибка 2 fatal error LNK1120: 1 неразрешенных внешних элементов #include<iostream> using namespace std; int main() { int n=1, m=5, v, x; cout << "Vvedite v" << endl;
C++ Запуск/Создание Windows Form в Win32 приложение ! Здравствуйте! Использую Visual Studio 2010. Учусь делать приложение игру на директх. Вопрос такой как запустить Форму видоус формс в вин32 приложении? Где его создать ? Как добавить в проект? Как запустить? #include <windows.h> #include <stdlib.h> #include <string.h> #include <tchar.h> #include "ddfunc.h" подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2807 / 1583 / 248
Регистрация: 03.05.2010
Сообщений: 3,686
17.10.2011, 22:50     Поиск анаграмм
Пардон, в мою программу вкралась ошибка. Вот так правильно:
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::multiset<char>     T_char_multiset;
/////////////////////////////////////////////////////////////////////////////////////////
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_multiset( A.begin(), A.end() )
                <   T_char_multiset( 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");
}
 
Текущее время: 02:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru