Zweidimensionale Felder


Die Komponenten eines Feldes müssen nicht unbedingt einfache Datenobjekte sein, sondern sie können auch aus zusammengesetzten Datenobjekten bestehen. So entsteht ein zweidimensionales oder mehrdimensionales Feld. Ein zweidimensionales Feld wird wie folgt deklariert:

type zweidim_Feld = array[1..m,1..n] of komponententyp;
var: z: zweidim_Feld;

Dabei läuft der erste Index (Zeilenindex) von 1 bis m, der zweite Index (Spaltenindex) von 1 bis n.

Die Eingabe der Daten, das Verarbeiten und die Ausgabe erfolgt dabei in der Regel mit geschachtelten Schleifen (siehe nachfolgende Struktogramme).

Eingabe eines zweidimensionalen Feldes Ausgabe eines zweidimensionalen Feldes

Lösen Sie zur Übung des Arbeitens mit zweidimensionalen Feldern die folgenden Aufgaben. Für die Verarbeitung von zweidimensionalen Feldern bietet sich die StringGrid - Komponente von Delphi an!

    1. Schreiben Sie ein Programm, das es erlaubt, zwei Zahlentabellen (Matrizen) mit m Zeilen und n Spalten einzulesen, z.B.

      1 2,3 4,5
      3,2 -4 0,7
      -2,3 6,08 -7,3
      2 0,01 -0,7
    2. Addieren und Subtrahieren Sie zwei solcher Matrizen, indem Sie jedes Element a[i,j] zu dem entsprechenden Element b[i,j] addieren bzw. subtrahieren. Aus den beiden obigen Matrizen entsteht dann die folgenden Summen- bzw. Differenzmatrix.

      Summenmatrix Differenzmatrix
      -1,3 8,38 -2,8
      5,2 -3,99 0
      3,3 -3,78 11,8
      1,2 -4,01 1,4

    entnommen aus: Junger u.a.: Informatik, Diesterweg - Verlag und Sauerländer - Verlag, 1988

  1. Aus einer Zahlentabelle (Matrix) mit m Zeilen und n Spalten sollen alle Zahlen ausgegeben werden, die negativ sind.

    entnommen aus: Junger u.a.: Informatik, Diesterweg - Verlag und Sauerländer - Verlag, 1988

  2. Schreiben Sie ein Programm das für eine vorgegebene Zahlentabelle mit n Zeilen und Spalten überprüft, ob ein so genanntes magisches Quadrat vorliegt. Bei einem magischen Quadrat sind alle Zeilensummen (Summe der Elemente einer Zeile) sowie alle Spaltensummen und die Summen der Elemente in den beiden Diagonalen der Zahlentabelle gleich groß.

    Überprüfen Sie anschließend, ob es sich bei den folgenden Zahlentabellen um magische Quadrate handelt!

    8 1 6
    3 5 7
    4 9 2
    12 6 3 13
    1 11 14 8
    16 2 7 9
    5 15 10 4
    17 24 1 8 15
    23 5 7 14 16
    4 6 13 20 22
    10 12 19 21 3
    11 18 25 2 9
    1 32 33 4 35 6
    12 8 27 28 11 25
    18 17 22 21 20 13
    9 23 16 15 14 24
    30 26 10 9 29 7
    31 5 3 34 2 36

    entnommen aus: Junger u.a.: Informatik, Diesterweg - Verlag und Sauerländer - Verlag, 1988

  3. Um eine Nachricht zu verschlüsseln, kann man sie in ein schachbrettartig unterteiltes Rechteck horizontal einschreiben und vertikal wieder auslesen. Diese so genannte hebräische Methode soll programmiert werden.

    Wird beispielsweise die Meldung REGIMENT MARSCHFÄHIG MACHEN in ein 5x5 - Brett zeilenweise eingetragen entsteht daraus folgende Matrix:

    R E G I M
    E N T M A
    R S C H F
    Ä H I G M
    A C H E N

    Spaltenweise ausgelesen erhält man RERÄAENSHCGTCIHIMHGEMAFMN.

    entnommen aus: Baumann, R: Informatik, Bd. 1, Klett-Verlag, Stuttgart 1992


zuletzt geändert am: 28.06.2004
Eine Seite von Mirko Hans