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

выводит то,чего нет - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ работа с файлами http://www.cyberforum.ru/cpp-beginners/thread1051697.html
задача программы и само задание состоит в следующем: Файл f содержит буквы латинского и русского алфавитов.Занести в файл h- только латинские буквы, а в файл g-только русские буквы-программа написана...
C++ В данной строке найти все вхождения буквы «я» и вывести номера позиций, в которых она встречается В данной строке найти все вхождения буквы «я» и вывести номера позиций, в которых она встречается. http://www.cyberforum.ru/cpp-beginners/thread1051688.html
Вычислить y = x1 - x2 + x3 - … + (-1)n-1 xn C++
Дан массив X из n натуральных чисел. Вычислить y = x1 - x2 + x3 - … + (-1)n-1 xn
Программа, которая будет решать задачу Эйлера C++
Задача: Нужна программа, которая будет показывать количество решений задачи о ходе коня. Можно даже в части доски - 4x4, ибо если 8x8, то слишком много решений - 13 267 364 410 532. Для справки:...
C++ Переписать в файл G все символы из другого файла, отличные от букв и пробела http://www.cyberforum.ru/cpp-beginners/thread1051684.html
Дан текстовый файл F. Переписать в другой файл G все символы, отличные от букв и пробела.
C++ Ассемблерная вставка в c++ Как данный код написать между вставками __asm {} в c++??? Поскольку dw, db и тд не поддерживаются в c++ Сам код: GRUPP DB 15, -13, 215, 2, -11, 156 LEA BX,GRUPP ... подробнее

Показать сообщение отдельно
Вадян
1 / 1 / 0
Регистрация: 25.05.2012
Сообщений: 42

выводит то,чего нет - C++

22.12.2013, 11:46. Просмотров 183. Ответов 0
Метки (Все метки)

Собственно вот код (не мой). Задание: В имеющемся словаре найти группы слов, записанных одними и теми же буквами и отличающиеся только их порядком, то есть перестановкой, например, (КОМАР, КОРМА).
Выводит лишние слова,которых в файле нет!
Например у меня слова
торба
аборт
топор
ропот
торт
А он выводит
аборт торба аборт
опрт топор ропот
орт торт
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
#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<algorithm>
#include<set>
#include<map>
#include<string>
 
using namespace std;
typedef map<set<char>, string>m_map;
int main() {
        setlocale(LC_ALL, "Russian");
        ifstream inf("words.txt");
        string str;
        m_map grmap;
        while (true) {
            if (inf.eof())break;
            getline(inf, str);
            set<char>ch_s(str.begin(), str.end()); //ch_s содержит каждую букву
            //1 раз
            if (!(grmap.insert(make_pair(ch_s, str))).second) {//если такой
                grmap[ch_s] += " " + str;//ключ уже есть добавить в группу
                //новое слово
            }
        }
        inf.close();
        m_map::iterator it;
        it = grmap.begin();
        for (; it != grmap.end(); it++) {
            string s((*it).first.begin(), (*it).first.end());
            cout << s << " " << (*it).second << endl;
        }
        cin.get();
        return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru