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

неправильно выводит отсортированные слова из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ определить процент чисел и замена элементов массива http://www.cyberforum.ru/cpp-beginners/thread1046381.html
Здравствйте, нужна помощь с с++ 1.как определить процент отрицательных чисел от их общего числа. (вводятся с клавиатуры, ограниченное количество) 2.и как осуществить замену в массиве? третьи...
C++ Ошибка в Базах Данных Ребят помогите пожалуйста: //Программа работы с базой данных "Экскурсии" //Создание базы //Просмотр базы //Поиск по названию страны с созданием файла выборки //Сортировка по наименованию... http://www.cyberforum.ru/cpp-beginners/thread1046379.html
Список (разобрать код) C++
Помогите пожалуйста разобрать код. #include <list> #include <iterator> #include <cstdlib> #include <ctime> #include <algorithm> #include <conio.h> using namespace std;
Если в слове есть удвоенные символы, то вставить между нами символ C++
Если в слове есть удвоенные символы, то вставить между нами символ "*". Написать программу на с++... Помогите пожалуйста!
C++ Скажите пожалуйста http://www.cyberforum.ru/cpp-beginners/thread1046353.html
Как в С задать Тi в степени n?
C++ Решение нелинейных уравнений методом Хорд Данный код считает только одно значение Х. Может кто исправить ошибку что бы находило 2 корня? #include <iostream> #include <cmath> #include <locale.h> using namespace std; double f(double x) {... подробнее

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

неправильно выводит отсортированные слова из файла - C++

18.12.2013, 02:24. Просмотров 200. Ответов 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.