Originariamente inviato da zeno3083
codice:
 
			while(freqMap.find(x1)==freqMap.end()){
				lettura.get(ch);
				x1+=ch;
			}
Questo while non ha senso. Map::find() ritorna o l'elemento cercato o map::end() se non lo trova, ma lo fa al primo colpo visto che ha un while all'interno.

Il modo corretto è:
codice:
			if (freqMap.find(x1) != freqMap.end()){
				lettura.get(ch);
				x1+=ch;
			}