Lösung zur F#-Aufgabe, Teil 4
14. September 2008 – 17:38 von AndreasEin paar Wochen sind nun vergangen und ich möchte euch die Lösung auf meine kleine F#-Aufgabe nicht vorenthalten.
Hier nochmal die Aufgabenbeschreibung:
Schreibt eine Funktion “create_matrix”, welche als Paramater die Zeilen, Spalten und einen Initialwert enthält (also “let create_matrix(rows,cols,initvalue) = …” ). Die Funktion gibt eine Liste zurück, welche wiederum für jede Zeile der Matrix wiederum eine Liste enthält.
Wird die Funktion folgendermaßen aufgerufen: “create_matrix(3,4,0)” so sollte folgende Liste (welche die 3×4-Matrix repräsentiert) erstellt und zurückgegeben werden: [ [ 0; 0; 0; 0]; [ 0; 0; 0; 0]; [ 0; 0; 0; 0] ].
Außerdem wäre es schön wenn ihr noch eine Funktion printmatrix schreiben würdet, welche die Matrix formatiert auf der Konsole ausgibt:
-
printmatrix(create_matrix(3,4,0))
Ausgabe:
Matrix:
[0; 0; 0; 0]
[0; 0; 0; 0]
[0; 0; 0; 0]
Hier nun die Lösung mit ein wenig Kommentar:
-
(*
-
Erstellt eine Matrix als Liste,
-
welche wiederum Listen enthaelt.
-
Dabei ist jede Liste innerhalb der
-
"root"-Liste eine Zeile.
-
*)
-
let create_matrix(rows,cols,initvalue) =
-
[for x in 1 .. rows ->
-
[ for y in 1 .. cols -> initvalue] ]
-
-
(*
-
Gibt eine mit create_matrix erstellte
-
Matrix lesbar auf die Konsole aus.
-
*)
-
let printmatrix (matrix) =
-
print_string "Matrix:"
-
List.iter(fun list ->
-
print_string "\n"
-
print_any list) matrix
Wenn euch noch etwas unklar erscheinen sollte, dann postet die Frage einfach als Kommentar:)!

1 Trackback(s)