Ich muss ein Haskell-Programm schreiben, das eine Raute-Ausgabe rekursiv generiert. hier einige Beispielausgabe für gegebene Eingangs
Drucken Rautenmuster mit Haskell
input: 1
Ausgang:
*
* *
*
input: 2
Ausgang:
*
* *
*
* *
* * * *
* *
*
* *
*
Eingang: 3
output:
*
* *
*
* *
* * * *
* *
*
* *
*
* *
* * * *
* *
* * * *
* * * * * * * *
* * * *
* *
* * * *
* *
*
* *
*
* *
* * * *
* *
*
* *
*
Ich schrieb folgende Funktionen:
next 0 = [1,0,1]
next n = map (+3^n) (next (n-1)) ++ next (n-1) ++ map (+3^n) (next (n-1))
lpad n = map (++"*") (zipWith ($) (map (take)(next (n-1))) ((repeat(repeat ' '))))
pretty n = putStrLn $ intercalate "\n" $ lpad n
die folgenden Ausgaben ergibt:
recht 1
*
*
*
ziemlich 2
*
*
*
*
*
*
*
*
*
jemand mit den verbleibenden Hälften kann mir helfen ? Danke im Voraus.
Dies wurde in einer Prüfung in PUCSD gefragt. (Pune Universität Informatikabteilung). –
Es ist mir Meister. –