C# :: Aufgabe #7 :: Lösung #15

15 Lösungen Lösungen öffentlich
#7

Übung mehrdimensionales Datenfeld welches aus zufälligen Inhalten besteht darstellen

Anfänger - C# von Gustl - 30.07.2012 um 23:37 Uhr
Schreiben sie ein Programm, in dem den Elementen eines dreidimensionalen Feldes, welches 6 x 3 x4 int-Werte beinhaltet, zufällige Werte zugewiesen werden.
Anschließend sollen alle Positionen des kleinsten Elements des Felds ermittelt und ausgegeben werden, siehe Bild.
#15
vote_ok
von DanielWagner (220 Punkte) - 16.12.2019 um 14:35 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace _3DArray_Aufgabe7
{
    class Program
    {
        static Random rand = new Random();
        static void Main(string[] args)
        {
            int[,,] dreiDArray = new int[6, 3, 4];

            // Array füllen
            for (int a = 0; a < dreiDArray.GetLength(0); a++)
            {
                for (int b = 0; b < dreiDArray.GetLength(1); b++)
                {
                    for(int c = 0; c < dreiDArray.GetLength(2); c++)
                    {
                        dreiDArray[a,b,c] = rand.Next(1,101);
                    }
                }
            }

            // Array ausgeben und die kleinste Elemente finden
            int element = dreiDArray[0, 0, 0];
           

            for (int a = 0; a < dreiDArray.GetLength(0); a++)
            {
                for (int b = 0; b < dreiDArray.GetLength(1); b++)
                {
                    Console.Write("(");
                    for (int c = 0; c < dreiDArray.GetLength(2); c++)
                    {
                        Console.Write(dreiDArray[a, b, c] + " ");
                        // das kleinste Element merken
                        if (dreiDArray[a, b, c] <= element)
                            element = dreiDArray[a, b, c];
                                      
                    }

                    Console.Write(")");
                }
                Console.WriteLine();
            }

            // Treffer zählen
            int count = 0;

            for (int a = 0; a < dreiDArray.GetLength(0); a++)
            {
                for (int b = 0; b < dreiDArray.GetLength(1); b++)
                {
                    for (int c = 0; c < dreiDArray.GetLength(2); c++)
                    {
                        if (dreiDArray[a, b, c] == element)
                            count++;
                    }
                }
            }


            // die kleinste Elemente ausgeben
            Console.WriteLine("\nMinimum {0}, an Position: ", count);

            for (int a = 0; a < dreiDArray.GetLength(0); a++)
            {
                for (int b = 0; b < dreiDArray.GetLength(1); b++)
                {
                    for (int c = 0; c < dreiDArray.GetLength(2); c++)
                    {
                        if (dreiDArray[a, b, c] == element)
                            Console.WriteLine($"Zeile: {a}, Gruppe {b}, Element {c} -> Die Zahl: {dreiDArray[a, b, c]}");
                               
                    }
                }
            }


            Console.ReadKey();

        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben