Laden...

Zwei Mehrdimensionale Array mit Random füllen: in beiden Arrays stehen die gleiche Werte

Erstellt von clamb vor 11 Jahren Letzter Beitrag vor 11 Jahren 7.697 Views
Thema geschlossen
C
clamb Themenstarter:in
5 Beiträge seit 2012
vor 11 Jahren
Zwei Mehrdimensionale Array mit Random füllen: in beiden Arrays stehen die gleiche Werte

Hallo zusammen,

bin neu hier und habe folgendes Problem:

Ich habe 2 Zwei-Dimensionale Array erstellt, die ich mit Zufallszahlen füllen möchte.
Soweit, so gut. Meine Funktion füllt beide Arrays und gibt sie mir auch in der Console richtig aus. Allerdings füllt meine Funktion beide Arrays mit den gleichen Zufallszahlen.

Hier einmal der Code:


        static void ausgabeArray(double[,] arr, int z, int s)
        { 
            for(int i = 0; i < z; i++)
            {
                for (int j = 0; j < s; j++)
                    Console.Write("\t{0}", arr[i, j]);

                Console.WriteLine();
            }
        }

        static double[,] arrayFuellen(double[,] arr, int z, int s)
        {
            Random rnd = new Random();
            
            for (int i = 0; i < z; i++)
                for (int j = 0; j < s; j++)
                    arr[i, j] = rnd.Next(-30, 40);
            return arr;
        }

        static void Main(string[] args)
        {
            int z = 0, s = 0;

            Console.Write("Anzahl der Zeilen: ");
            z = Convert.ToInt32(Console.ReadLine());
            Console.Write("Anzahl der Spalten: ");
            s = Convert.ToInt32(Console.ReadLine());

            double[,] l = new double[z, s];
            double[,] m = new double[z, s];
            
            l = arrayFuellen(l, z, s);
            m = arrayFuellen(m, z, s);

            ausgabeArray(l, z, s);
            Console.WriteLine("\n + \n");
            ausgabeArray(m, z, s);

            Console.ReadLine();
        }

Komme nicht wirklich vorran. Kann mir jemand helfen bzw. erklären warum das so ist?

Gruß
clamb

6.911 Beiträge seit 2009
vor 11 Jahren

Hallo clamb, willkommen im Forum,

beide Instanzen von Random werden (zu) kurz hintereinander erstellt, so dass der gleiche Seed verwendet wird und somit kommen auch gleiche Zufallszahlen heraus. Siehe [FAQ] Random.Next liefert eine Zeit lang die gleiche Zufallszahl - Warum? Wie geht es richtig? und beachte bitte [Hinweis] Wie poste ich richtig? Punkt 1.1, 1.1.1.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Thema geschlossen