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

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.
#14
vote_ok
von grinchyy (200 Punkte) - 01.03.2018 um 18:02 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace trainyourprogrammer_7
{
    public partial class frmMain : Form
    {
        // AUFGABE:

        //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.*/


        // Dreidimensionales Array (6 hoch, 3 breit, 4 tief)
        int[,,] multiArray = new int[6, 3, 4];

        // Random Klasse
        Random ran = new Random();
        
        // Integervariable zum Speichern des Minimalwerts
        int min = 100;

        public frmMain()
        {
            InitializeComponent();

            // Multidimensionales Array mit Zufallszahlen (0-99) befüllen

            for ( int i = 0; i < multiArray.GetLength(0); i++ )
            {
                for ( int j = 0; j < multiArray.GetLength(1); j++ )
                {
                    for ( int k = 0; k < multiArray.GetLength(2); k++ )
                    {
                        multiArray[i, j, k] = ran.Next( 100 );
                    }
                }
            }

            // Multidimensionales Array in der Textbox des frmMain-Fensters anzeigen

            string aktuelleZahl = String.Empty;

            for ( int i = 0; i < multiArray.GetLength( 0 ); i++ )
            {
                
                for ( int j = 0; j < multiArray.GetLength( 1 ); j++ )
                {
                    tbxNumbers.Text += "(";

                    for ( int k = 0; k < multiArray.GetLength( 2 ); k++ )
                    {
                        tbxNumbers.Text += " ";                        

                        aktuelleZahl = multiArray[i, j, k].ToString();

                        // Damit alles bündig aussieht
                        if ( aktuelleZahl.Length == 1 )
                            tbxNumbers.Text += " " + aktuelleZahl;
                        else
                            tbxNumbers.Text += aktuelleZahl;
                    }
                    tbxNumbers.Text += " ) ";
                }

                tbxNumbers.Text += Environment.NewLine;
            }

            // Ermittlung des kleinsten Elements aus dem Array
           
            for ( int i = 0; i < multiArray.GetLength( 0 ); i++ )
            {
                for ( int j = 0; j < multiArray.GetLength( 1 ); j++ )
                {
                    for ( int k = 0; k < multiArray.GetLength( 2 ); k++ )
                    {
                        if ( multiArray[i, j, k] < min )
                            min = multiArray[i, j, k];
                    }
                }
            }
           

        }

        // Anzeigen der Koordinaten des kleinsten Elements

        private void btnAnzeigen_Click( object sender, EventArgs e )
        {
            
            tbxResult.Text += "Der Minimalwert von " + min + " befindet sich an den folgenden Positionen: " + Environment.NewLine;

            for ( int i = 0; i < multiArray.GetLength( 0 ); i++ )
            {
                for ( int j = 0; j < multiArray.GetLength( 1 ); j++ )
                {
                    for ( int k = 0; k < multiArray.GetLength( 2 ); k++ )
                    {
                        if ( multiArray[i, j, k] == min )
                        {
                            tbxResult.Text += "Zeile " + (i+1) + ", Gruppe " + (j+1) + ", Element " + (k+1) + Environment.NewLine;

                        }
                            
                    }
                }
            }

        }
    }
}

Kommentare:

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

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