Wie umsetzen?
-
Hallo,
ich lese aus einer Datei folgende Werte aus:
Datum Zahl TextNun möchte ich das gerne in einer Statistik haben. Also wie oft kam bei Zahl Text vor... Wie löse ich das am Besten? Welche Datenstruktur nehme ich?
Beispielaufbau:
10.10.01,15:10#100:Hallo 10.10.01,15:10#200:Hallo1 10.10.01,15:10#300:Hallo 10.10.01,15:25#100:Hallo2 10.10.01,15:25#200:Hallo1 10.10.01,15:25#300:HalloAusgabe:
Zahl 100: Einträge 2 "Hallo" 1( 50% ) "Hallo2" 1( 50% ) Zahl 200: Einträge 2 "Hallo1" 2( 100% ) Zahl 300: Einträge 2 "Hallo" 2( 100% )Das würde ich gerne umsetzen! Eine andere Frage: Sollte ich das Datum auch noch in die Statistik nehmen? Wenn ja wie baue ich dann meine Statistik auf?
Wichtig ist, dass die Einträge unterschiedlich sein können! Es könnten also auch nur 2 oder auch 4 sein. Das ist nicht festgelegt also Variabel.
Ich habe an etwas wie: Vector und Map gedacht. Aber ich weiß nicht wie ichs genau umsetzen soll.
Bin über Hilfe sehr dankbar!!!

-
Nja wie würdest du denn manuel vorgehen?
aja ...
std::map<unsigned int, std::vector<std::string>> items;könntest de versuchen ... mir fällt sonnst nix ein

-
am besten ist beim umstezen, wenn der martin nah vorne kommt und die inge in die 2te reihe
mach halt ne map mit maps
key | value ------------------------------------------- 100 | key:hallo value:1 (Die Anzahl) | key:hallo2 value:1 | 200 | key:hallo1 value:2
-
Könntest du noch zeigen, wie ich diese deklariere und fülle?
Außerdem ist es doch nicht Möglich mehre EInträge under dem gleichen Key zu haben, oder?
-
Hilfeeee schrieb:
Außerdem ist es doch nicht Möglich mehre EInträge under dem gleichen Key zu haben, oder?
key 100 hat als value eine map
typedef std::map<std::string, int> INNERMAP; typedef std::map<int, INNERMAP> MAP;Schauen, obs in der MAP schon einen eintrag für die zahl gibt, wenn ja in der INNERMAP text einfügen oder anzahl erhöhen, wenn nein, neue map einfügen und in diese den text einfügen.