Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Rasty   (09.07.2009 в 14:53)
Есть код из учебника для нахождения анаграмм, но при компиляции выдается :
g++.exe -x c++ -c C:\C++\anagram\anag.cpp -o C:\C++\anagram\anag.o -Wall -fpermissive
C:\C++\anagram\anag.cpp: In function `int main()':
C:\C++\anagram\anag.cpp:26: no match for call to `(const string) ()'
C:\C++\anagram\anag.cpp:26: no match for call to `(const string) ()'
Failure

Сам код:

#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <map>
using namespace std;
int main(){
int n;
char buff[80];
string sbuff;
multimap<string,string> an;
multimap<string,string>::iterator im,ani,ane;
ifstream infile("diction.txt");

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));
}
ani=ane=an.begin();
n=0;
do{
while(++ane!=an.end() &&
(*ane).first() ==(*ani).first()) n++;
if(n){
for(im=ani;im!=ane;im++)
cout << (*im).second << endl;
n=0; cout << endl;
}
ani=ane;
} while(ane!=an.end());
infile.close();
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: