Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа выводит пустой экран, Крупник, гл.3, "Анаграммы" 
V
    Опции темы
trinitr0
Дата 20.1.2014, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 25.6.2013

Репутация: нет
Всего: нет



Занимаюсь по "Самоучитель C++"  автора А. Крупник
в главе 3 есть такой код, который должен читать файл со словами и находить в них анаграммы:

Код

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <map>

using namespace std;

int main()
{
    char buff[80];
    string sbuff;

    multimap<string, string> an;
    multimap<string, string>::iterator im,ane;

    ifstream infile("diction");

    while (1)
    {
        infile.getline(buff, sizeof(buff));
        if(infile.eof()) break;
        sbuff = buff;
        sort(sbuff.begin(), sbuff.end());
        an.insert(pair<string, string>(sbuff, buff));
    }

    im = an.begin();
    ane = an.end();

    vector<multimap<string, string>::iterator> chg;

    chg.push_back(im);

    while (++im != ane)
    {
        chg.push_back(im);
        if((*im).first != (*chg[0]).first)
        {
            if(chg.size() > 2)
            {
                for(unsigned int i=0; i < chg.size() - 1; i++);
            cout << endl;
            }

            chg.clear();
            chg.push_back(im);
        }    

    }

    if(chg.size() > 1)
        for(unsigned int i=0; i < chg.size(); i++)
            cout << (*chg[i]).second << endl;
        infile.close();
}


Псоле компиляции и выполнения на экран выводится набор пустых строк. Пожалуйста подскажите почему?
 smile 
PM MAIL Jabber   Вверх
bsa
Дата 20.1.2014, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



строки 43-48 очень подозрительные.
PM   Вверх
trinitr0
Дата 20.1.2014, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 25.6.2013

Репутация: нет
Всего: нет



А что подозрительного?
PM MAIL Jabber   Вверх
trinitr0
Дата 21.1.2014, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 25.6.2013

Репутация: нет
Всего: нет



Решено!

В фрагменте
 
Код

if(chg.size() > 2)
            {
            for(unsigned int i=0; i < chg.size() - 1; i++);
            cout << endl;
            }


исправлены ошибки:

1. убрана `;` на конце цикла
2. добавлена строчка cout << (*chg).second << endl;

Код

if(chg.size() > 2)
            {
                for(unsigned int i=0; i < chg.size() - 1; i++)
                cout << (*chg[i]).second << endl;
                cout << endl;
            }


 smile 
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1021 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.