Skynet sto procedendo un po sulle indecazione che mi hai dato tu e penso che per avere qualcosa di piu concreto dovremo aspettare domani. intanto volevo farti leggere il listato sempre di questo programma che avevo scritto io prima che aprivo il topic sul forum
#include <iostream>
#include <map>
#include <string>
using namespace std;
typedef multimap <string , int ,less <string> > mmid;
int main(int argc, char **argv) {
mmid pairs;
pairs.insert(mmid::value_type("casa",5));
pairs.insert(mmid::value_type("casa",6));
pairs.insert(mmid::value_type("casa",7));
pairs.insert(mmid::value_type("finestra",8));
pairs.insert(mmid::value_type("sedia",9));
pairs.insert(mmid::value_type("armadio",10));
pairs.insert(mmid::value_type("tappeto",14));
mmid::const_iterator iterSucc=pairs.begin();
mmid::const_iterator iter=pairs.begin();
for(int i=0;i<pairs.size();i++,++iter)//,++iter1)
{
iter->first!=(++iterSucc)->first ? cout<<iter->second<<"\t<<iter->first<<\n":cout<<iter->second<<" " ; //if steatement
if(iterSucc==pairs.end())
cout<<iter->first<<"\t"<<iter->second;
}
return 0;
}
creao un iteratore multimap dopo di che nell' ultimo ciclo for controllo la chiave del primo elemento con quella successiva. stampa tutto come vorrei . il problema nasce quando deve controllare l'ultimo elemento con l'elemento successivo all ' ultimo. La stampa nn viene effettuata e facendo il debug mi va in abort() inaspettatamente propio quando incrementa iterSucc di uno. cosa ne pensi te???