Ich hatte das Missfallen, mit einem Lehrbuch gesattelt zu werden, das nicht sehr gut geschrieben ist. Wie es aussieht, ging ich von C++ zu körperlich krank nur darüber nachzudenken. Ich weigere mich jedoch, die Klasse zu verlassen. Also die lange und kurze davon ist, ich habe ein Labor, das folgende fragt:C++ über Multisets und Arrays
Schreiben Sie ein Programm, das zwei Arrays namens Akteure und Rollen, jeweils der Größe N enthält. Für jedes i, Schauspieler [i] ist die Name eines Akteurs und Rollen [i] ist eine Multimenge von Strings, die die Namen der Filme enthält, in denen der Schauspieler aufgetreten ist. Das Programm liest die Ausgangsinformationen für diese Arrays aus Dateien in einem von Ihnen entworfenen Format. Sobald das Programm ausgeführt wird, kann der Benutzer den Namen eines Schauspielers eingeben und eine Liste aller Filme für diesen Schauspieler erhalten. Oder der Benutzer kann den Namen eines Films eingeben und eine Liste aller Schauspieler in diesem Film erhalten.
Jetzt möchte ich die Antwort nicht. Ich muss nur wissen, in welche Richtung ich gehen soll. Ich fühle mich ziemlich wohl mit Standard-Arrays, aber die Art, wie Multisets in diesem Lehrbuch beschrieben werden, verwirrt mich zu keinem Ende. Jede Hilfe (ohne mir nur die Antwort zu geben) wäre willkommen.
In der Datenbank-Theorie würde dies eine viel zu viele Mapping nennen, wenn das hilft. –
find-Methode findet ein bestimmtes Mitglied, count-Methode zählt Elemente mit einem bestimmten Schlüssel. –
Ein Multiset (zumindest in der C++ - Standardbibliothek, aber ich denke bei normaler Verwendung) ist eine Menge, die wiederholte Elemente haben kann. C++ - (Multi-) Mengen sind keine echten mathematischen Mengen, weil sie geordnet sind; Seit C++ 11 enthält die Standardbibliothek auch ungeordnete_Sätze und ungeordnete_Multisets. Die Idee einer Multimenge mag seltsam erscheinen, aber es ist nützlich, sich daran zu erinnern, dass C++ - (Multi-) Mengen eine beliebige Funktion verwenden können, um Objekte zu vergleichen, die eine Äquivalenzbeziehung definieren. Ich sehe immer noch nicht, warum 'roles [i]' eher ein Multiset als ein Set wäre (kann ein Schauspieler zweimal im selben Film vorkommen?) – rici