Geschachtelte-Schleifen im Code anwenden



  • Moin.

    Bin ein c# Einsteiger und habe folgende Aufgabe als Übung durchgeführt:
    Pseudozufallszahlen generieren, einen Würfel simulieren und ausgeben (mit % Angabe wie oft welches Auge gewürfelt wurde)

    Habe es umsetzen können, würde jedoch das Programm erweitern, sodass der Nutzer
    eingeben kann wie viele Würfel gewürfelt werden sollen.

    Nun, da habe ich eine Lücke beim verstehen wie ich das verschachteln kann mittels Schleifen (zB for schleifen)?

    Hier der Code für einen Würfel, mit n Würfen.

    using System;
    
    using System.Threading;
    
    //..........
    //.........
    //Mir ist unklar, egal wie, bei der Verschachtelung der Schleifen
    //Wie ich die ineinander zusammenführe..
    //..das Abfangen für die Falscheingaben ist nicht im Code
    //Obwohl gelöst, bringt aber nix
    
    namespace ExcersiseMultiDices_JL
    {
        class DiceRoll
        {
    
            static void Main(string[] args)
            {
    
                //Fragt den Benutzer ab wie oft die Würfelsimulation..
                Console.WriteLine("Wie oft soll gewürfelt werden ?");
                int numberRepeats = int.Parse(Console.ReadLine());
              /*  Console.WriteLine("Bei wie vielen Würfeln ?");
                int numberDice = int.Parse(Console.ReadLine()); */
    
                var DiceRandomGenerate = new Random();
                int[] Die = new int[7];
    
                int z;
    
                var resAndNumber = new int[6];
    
                for (z = 1; z < numberRepeats; z++)
                {
                    Die[DiceRandomGenerate.Next(1, 7)]++;
    
                }
    
                //..Den Würfel mittels for werfen soll,inkrementiert den Zähler
                //Und erfasst die Ergebnisse im Array
                for (int i = 0; i < numberRepeats; i++)
                {
    
                           var rolledResult1 = DiceRandomGenerate.Next(1, 7);
                           resAndNumber[rolledResult1 - 1]++;
    
                }
    
                //Die folgende for-Schleife berechnet die..
                //..Prozentzahl der im Array erfassten Würfe. 
                //Diese werden, gemeinsam mit der Anzahl wie oft ein Würfelauge vorkam, in der Konsole ausgegeben.
                for (int i = 0; i < 6; i++)
                {
    
                    double Percentage1 = 100.0 * resAndNumber[i] / numberRepeats;
    
                    Console.WriteLine("Würfelauge {0} vom 1. Würfel  wurde {1} mal gewürfelt. ({2}%)", i + 1, resAndNumber[i], Percentage1);    //Welchen Algorithmus für 1+ Würfeln?
                }
    
                //Nach dem Durchlaufende wird das Konsolenfenster offen gehalten, damit der Nutzer 
                //..Die Ausgabe betrachten und mit einem beliebigen Tastendruck beenden kann
                Console.WriteLine("Beliebige Taste drücken um das Programm zu beenden.");
                Console.ReadKey();
    
            }
           /* static int GenerateNumber(Random random)
            {
                return random.Next(1, 7);
            }*/
        }
    }
    

    Weiss.. ist eig. unkompliziert zu lösen, gerade blockt aber alles bei mir und man kommt nicht weiter. 🙂


Log in to reply