Forum: Algorithmen, Datenstrukturen und Klassendesign
by samso,
17. Okt 2019
In dem Augenblick in dem die Zahl in ein Set übertragen wurde, muss man gedanklich die Welt der Zahlen verlassen und in die Welt der Mengenlehre eintauchen. Hier wird nicht mehr mit Zahlen hantiert, sondern mit Elementbeziehungen. Das hier behandelte Beispiel ist geradezu ein Musterbeispiel für eine Menge. Die Menge der freigeschalteten Niveaus. Wenn die einzelnen Niveaus (Elemente der Menge)...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by samso,
16. Okt 2019
Und das stimmt eben nicht! Da wird geprüft ob nB in der Menge NiveauInt enthalten ist. Hier bildet Pascal/Delphi die Mengenlehre nach.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by samso,
16. Okt 2019
Man kann das natürlich auch ohne Sets umsetzen. Dann bekommt man auch die 32 zu sehen...
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
Forum: Algorithmen, Datenstrukturen und Klassendesign
by samso,
16. Okt 2019
Ich kann mich nur wiederholen. Mein Programm leistet exakt das, was Du möchtest. Teste es doch bitte bitte bitte mal!
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
Forum: Algorithmen, Datenstrukturen und Klassendesign
by samso,
16. Okt 2019
Ich meinte diesen Vorgang NiveauInt := <irgendwas>
Da wird in der Variablen NiveauInt etwas gespeichert. Bei meinem Programm wird in der Variablen "Niveaus" ebenfalls etwas gespeichert.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by samso,
16. Okt 2019
Ja, und Du speicherst Niveau 1 mit nA ab, 2 mit nB, 3 mit nC, 4 mit nD, 5 mit nE und 6 mit nF. Sind alle Niveaus von 1 bis 32 freigeschaltet, ist auch nA bis nF gesetzt. Liest Du 57 ein, ist Dein Set: .
Wenn Du wissen willst, ob Niveau 5 freigeschaltet ist, dann ist die Abfrage dazu nE in Niveaus
Hast Du meinen Quelltext mal ausprobiert?
Vielleicht ist es so klarer:
program Project1;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by samso,
16. Okt 2019
Dann hat Dein Set aber nicht 33 Bit sondern 6 Bit. So sollte es gehen:
type
TNiveau = (nA, nB, nC, nD, nE, nF);
TNiveauSet = set of TNiveau;
var
Niveaus: TNiveauSet;