Plakat po raz pierwszy czyhającego tutaj.
Napisz program, który pobierze 3 wejścia: X, Y i Z.
- X = w poprzek (kolumny)
- Y = w dół (rzędy)
- Z = znacznik lokalizacji
Program powinien następnie wydrukować siatkę wizualną X w poprzek i Y w dół. Ta siatka może składać się z dowolnego znaku oprócz „+”. Każda „lokalizacja” otrzymuje numer indeksu, licząc w górę od 1 o współrzędnej 1, 1 w poprzek, a następnie w dół do końca.
X i Y zawsze będą wynosić co najmniej 3, a Z nigdy nie będzie większe niż X * Y
.
Z reprezentuje lokalizację, która jest drukowana jako „+”, w lokalizacji, a także 1 znak w lewo, w prawo, w górę iw dół. Na przykład:
+
+++
+
Na koniec, jeśli znaki + przechwycą krawędzie (najbardziej na górze, najbardziej na lewo, na prawo i / lub najbardziej na dół), to + powinien odbić się do tyłu wzdłuż tej samej osi i przelać drugą stronę.
Przykłady: Dane wejściowe = 5, 5, 13
-----
--+--
-+++-
--+--
-----
Wejście = 10, 10, 10
-------+++
---------+
---------+
----------
----------
----------
----------
----------
----------
----------
Wejście = 10, 10, 21
----------
+---------
+++-------
+---------
----------
----------
----------
----------
----------
----------
Edycja: przykład inny niż kwadrat 16,3,32
---------------+
-------------+++
---------------+
Myślę, że wszystko omówiłem. Dane wejściowe nie powinny być ograniczone, ale jeśli Twój program tego wymaga, ogranicz go do wartości 64 * 64.
Punkt bonusowy (czy mogę to zrobić?): Dane wejściowe Z nie powinny być> X * Y, ale jeśli są większe niż Y * Z, wyślij środek + na środek siatki.
EDYCJA: Wejście Z nie może być większe niż X * Y
Edycja 2 :. Wprowadziłem pewne zmiany w X i Y, miejmy nadzieję, że będą jaśniejsze
To jest kod golfowy, wygrywa najkrótszy kod.