Potrzebuję napisać program Haskell, który wygeneruje rekursywnie wyjście diamentowe. Oto przykładowe dane wyjściowe dla danego wejścia
Drukuj wzór diamentu za pomocą Haskella
wejściowy 1
Wydajność:
*
* *
*
wejściowy 2
Wydajność:
*
* *
*
* *
* * * *
* *
*
* *
*
wkład: 3
Wydajność:
*
* *
*
* *
* * * *
* *
*
* *
*
* *
* * * *
* *
* * * *
* * * * * * * *
* * * *
* *
* * * *
* *
*
* *
*
* *
* * * *
* *
*
* *
*
napisałem następujące funkcje:
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
co daje następujące wyjścia:
całkiem 1
*
*
*
całkiem 2
*
*
*
*
*
*
*
*
*
Czy ktoś może mi pomóc z pozostałych połówek ? Z góry dziękuję.
ten został poproszony w egzaminie w PUCSD. (Wydział informatyki uniwersytetu Pune). –
To ja jestem Mistrzem. –