Matrix Spalten und Zeilen vertauschen

Neue Frage »

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.
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »