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

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

Восстановить пароль Регистрация
 
Вадян
1 / 1 / 0
Регистрация: 25.05.2012
Сообщений: 42
22.12.2013, 11:46     выводит то,чего нет #1
Собственно вот код (не мой). Задание: В имеющемся словаре найти группы слов, записанных одними и теми же буквами и отличающиеся только их порядком, то есть перестановкой, например, (КОМАР, КОРМА).
Выводит лишние слова,которых в файле нет!
Например у меня слова
торба
аборт
топор
ропот
торт
А он выводит
аборт торба аборт
опрт топор ропот
орт торт
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;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2013, 11:46     выводит то,чего нет
Посмотрите здесь:

класс компилируется но не чего не выводит на экран C++
Написать программу, которая выводит пример на вычитание, запрашивает ответ пользователя, проверяет его и выводит сообщение о правильности C++
C++ Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять.
Программа просит ввести любое число от -80 до 80, после чего выводит в столбец все числа от 0 до введенного C++
с++ командная строка, Вывести все нечисловые аргументы, но выводит все аргументы чего-то, C++
с++,циклическая очередь, сразу норм выводит, а потом на где-то логика нарушается и неправильно выводит C++
Написать программу, которая вводит с клавиатуры одномерный массив из 5 дробных чисел, после чего выводит кол-во ненулевых элементов C++
Шаблонный класс: для чего методы объявлены виртуальными, если нет наследования? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru