Switch-Case mit Arraywerten befüllen

#1
Hallo alle zusammen,

ich bin noch ziemlich am Anfang meiner Programmiererlaufbahn und habe da ein kleines Logik Verständnisproblem.
Ich würde mich freuen wenn es mir jemand erklären könnte.
Es geht im Endeffekt um ein Würfelspiel, für welches ich ein zweites Array benötige um zu sagen ob es ein Grand usw. ist. Die Lösung habe ich bereits fleißig im Board gesucht und gefunden, allerdings verstehe ich den Ablauf nicht.
Es geht um folgenden Codeabschnitt:
1545478465727.png
Wie sich das Array augenzahl mit den Werten aus scanf füllt verstehe ich, jedoch nicht wie die Werte bzw. die Häufigkeit der Werte in die einzelnen "cases" kommen.
Ich wäre sehr dankbar wenn mir jemand den logischen Ablauf erklären könnte :)
 

German

Well-Known Member
c-b Experte
#2
anzahl ist ein Array von 6 Elementen eines integralen Typs die (hoffentlich) mit Wert 0 initialisiert wurden. Je nach gewürfeltem Wert in augenzahl[i] wird der Code in einem der 6 case Anweisungen ausgeführt.
Angenommen der erste Wurf ist 4, dann wird augenzahl[0] der Wert 4 zugewiesen. Im switch wird case 4 ausgeführt und der Wert in anzahl[3] wird mittels ++ Operator inkrementiert und ist nun 1.
Sollte bspw. der zweite Wurf wieder 4sein , dann wird augenzahl[1] der Wert 4 zugewiesen. Im switch wird wieder case 4 ausgeführt und der Wert in anzahl[3] wird mittels ++ Operator erneut inkrementiert und ist nun 2.
 
Oben