Guhopa Geschrieben 6. Dezember 2001 Geschrieben 6. Dezember 2001 moin moin ich hab folgendes problem ich schreibe verschiedene zahlen (2-3stellig) in einen string und möchte nun vermeiden das zahlen doppelt reingeschrieben werden. wer hilft ? Zitieren
Crush Geschrieben 6. Dezember 2001 Geschrieben 6. Dezember 2001 Erzeuge ein STL-Set und checke einfach ab, ob die Zahl schon geschrieben wurde (jede Zahl ist dort nämlich nur einmal erlaubt) oder mache Dir ein Array, welches die Zahlen als int von mir aus beinhaltet und gehe es jedesmal durch, ob die Zahl schon vorhanden ist. Zitieren
Guhopa Geschrieben 6. Dezember 2001 Autor Geschrieben 6. Dezember 2001 ???????????? kannste das mal näher erläutern odre haste noch ne lösung die für einen anfänger einfacher ist dachte da so an strstr oder strcmp oder so Zitieren
Crush Geschrieben 6. Dezember 2001 Geschrieben 6. Dezember 2001 if !(strstr(destinationstring,numberstring)) strcat(destinationstring,numberstring); Darauf achten, daß Destionationstring auch groß genug ist, weil hier nirgendwo eine Bereichsprüfung stattfindet. <FONT COLOR="#a62a2a" SIZE="1">[ 06. Dezember 2001 14:02: Beitrag 3 mal editiert, zuletzt von Crush ]</font> Zitieren
PhOen1X Geschrieben 12. Dezember 2001 Geschrieben 12. Dezember 2001 Kleine Frage nebenbei! Wat is bitte ein: STL-Set Crush: <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> Erzeuge ein STL-Set und checke einfach ab, ob die Zahl schon geschrieben wurde (jede Zahl ist dort nämlich nur einmal erlaubt) oder mache Dir ein Array, welches die Zahlen als int von mir aus beinhaltet und gehe es jedesmal durch, ob die Zahl schon vorhanden ist. Zitieren
Crush Geschrieben 12. Dezember 2001 Geschrieben 12. Dezember 2001 STL = Standard Template Library = Vorlagenklasse für (Daten-)Container aller Art Ein Set entspricht einer Menge. Hier werden Zahlen aufgenommen, allerdings darf jede Zahl nur einmal vorkommen (ansonsten muß man das Multiset benutzen). Man muß dem Template den Container-Typ angeben, welcher in diesem (vielleicht blöden) Beispiel <int> ist. Man kann leicht herausfinden, ob eine Zahl im Container enthalten ist, indem man sich einen Zeiger auf einen gesuchten Eintrag finden läßt und wenn es der gesuchte Wert ist, dann hat man ihn gefunden (ich mach das indem ich die Zahl einfach vom Ergebnis abziehe - nicht die feine englische Art, klappt aber). Ansonsten wird ein Zeiger auf ein Speichermußter zurückgegeben (letzer freier Eintrag der Liste)(0xdcdcdcdc). #include <set> set<int> stlint; stlint.insert(1); stlint.insert(5); stlint.insert(9); set<unsigned int>::iterator i=stlint.begin(); if (!(*(i=stlint.find(1))-1)) TRACE("Ist drin"); if (!(*(i=stlint.find(3))-3)) TRACE("Ist drin"); if (!(*(i=stlint.find(5))-5)) TRACE("Ist drin"); if (!(*(i=stlint.find(8))-8)) TRACE("Ist drin"); if (!(*(i=stlint.find(9))-9)) TRACE("Ist drin"); <FONT COLOR="#a62a2a" SIZE="1">[ 12. Dezember 2001 17:06: Beitrag 2 mal editiert, zuletzt von Crush ]</font> Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.