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
Beiträge zu diesem Thema Autor Datum
 Matrix Spalten und Zeilen vertauschen Raven 25.10.2016 21:31

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