Занимаюсь по "Самоучитель 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(); }
|
Псоле компиляции и выполнения на экран выводится набор пустых строк. Пожалуйста подскажите почему? |