Matrix Spalten und Zeilen vertauschen |
25.10.2016, 21:31 | Auf diesen Beitrag antworten » |
Raven | Matrix Spalten und Zeilen vertauschen Meine Frage: In einem PASCAL-Programm soll eine 5×5 Matrix transponiert werden. Das heisst, die Zeilen und Spalten der Matrix sind zu vertauschen, wie im folgenden Beispiel gezeigt ist: 15 8 1 24 17 16 14 7 5 23 22 20 13 6 4 3 21 19 12 10 9 2 25 18 11 rauskommen soll das 15 16 22 3 9 8 14 20 21 2 1 7 13 19 25 24 5 6 12 18 17 23 4 10 11 Wir geben folgende Typdefinition und Variablendeklaration an: const GROESSE = 5; type tMatrix = array [1..GROESSE,1..GROESSE] of integer; var A : tMatrix; tauschPuffer, i, j : integer; Das Lesen der Matrixwerte in A wird folgendermaßen durchgeführt: { Lesen der Matrixwerte in A: } for i := 1 to GROESSE do for j := 1 to GROESSE do readln (A[i,j]); Welche der fünf folgenden Programmstücke führen das Transponieren der Matrix A korrekt aus? A begin for i := 1 to GROESSE-1 do for j := i+1 to GROESSE do begin tauschPuffer := A[i,j]; A[i,j] := A[j,i]; A[j,i] := tauschPuffer end end; B begin for i := 1 to GROESSE do for j := 1 to i do begin tauschPuffer := A[i,j]; A[i,j] := A[j,i]; A[j,i] := tauschPuffer end end; C begin for i := 1 to GROESSE do for j := 1 to GROESSE do begin tauschPuffer := A[i,j]; A[i,j] := A[j,i]; A[j,i] := tauschPuffer end end; D begin for i := 1 to GROESSE do for j := 1 to GROESSE-i do begin tauschPuffer := A[i,j]; A[i,j] := A[j,i]; A[j,i] := tauschPuffer end end; E begin for i := 1 to GROESSE-1 do for j := i+1 to GROESSE do begin tauschPuffer := A[i,j]; A[j,i] := A[i,j]; A[j,i] := tauschPuffer end end; Meine Ideen: Ich habe leider noch keine eigenen ANsätze, hoffe das mir hier jemand helfen kann. |
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |
|