Ich versuche, wiederholte Wörter mit einer Karte zu zählen, wenn der Benutzer die Zeichenfolge eingibt, sobald die Ausgabe "OK" ist, sonst wird die Ausgabe die Zeichenfolge und die Nummer der Wiederholungszeit der String danebenVerwenden von Maps zum Zählen von Strings Eingabe
ich weiß, dass der Code sehr dumm aussieht, es ist mein erstes Mal Karten mit und ich bin nicht vertraut mit der Syntax
jede mögliche Hilfe geschätzt wird
int main()
{
int t, i = 0;
string s;
map<string, int> m;
cin >> t;
while (t--) {
cin >> s;
m[s] = i++;
if (i == 0)
cout << "OK";
else
cout << m[s] << m.second << endl;
}
}
Also genau das, was ist das Problem? – Mureinik
Sei vorsichtig, du erhöhst 'i' in jeder Iteration deiner While-Schleife. So wird jeder String, den Sie nach dem ersten eingeben, als doppelt betrachtet (vorausgesetzt, dass t '1 ist). –