Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Matrix Spalten und Zeilen vertauschen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Matrix Spalten und Zeilen vertauschen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Raven
unregistriert
Matrix Spalten und Zeilen vertauschen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.
25.10.2016 21:31
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Matrix Spalten und Zeilen vertauschen