C# :: Aufgabe #7 :: Lösung #14
15 Lösungen
#7
Übung mehrdimensionales Datenfeld welches aus zufälligen Inhalten besteht darstellen
Anfänger - C#
von Gustl
- 30.07.2012 um 23:37 Uhr
#14
von grinchyy (200 Punkte)
- 01.03.2018 um 18:02 Uhr
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
Seite 1 von 0
1
