Poster per la prima volta in agguato da molto tempo qui.
Scrivi un programma che accetta 3 input: X, Y e Z.
- X = attraverso (colonne)
- Y = giù (righe)
- Z = Indicatore di posizione
Il programma dovrebbe quindi stampare una griglia visiva tra X e Y verso il basso. Questa griglia può essere composta da qualsiasi carattere tranne "+". A ogni 'posizione' viene assegnato un numero indice, contando da 1 a coordinate 1, 1 e poi verso il basso fino alla fine.
X e Y saranno sempre almeno 3 e Z non sarà mai più grande di X * Y
.
Z rappresenterà la posizione stampata come "+", sulla posizione e 1 carattere a sinistra, a destra, su e giù. Per esempio:
+
+++
+
Infine, se i caratteri + intercettano i bordi (più in alto, più a sinistra, più a destra e / o più in basso del bordo), allora il + dovrebbe rimbalzare lungo lo stesso asse e traboccare dall'altro lato.
Esempi: input = 5, 5, 13
-----
--+--
-+++-
--+--
-----
Input = 10, 10, 10
-------+++
---------+
---------+
----------
----------
----------
----------
----------
----------
----------
Input = 10, 10, 21
----------
+---------
+++-------
+---------
----------
----------
----------
----------
----------
----------
Modifica: esempio non quadrato 16,3,32
---------------+
-------------+++
---------------+
Penso di aver coperto tutto. Non ci dovrebbero essere limiti per l'input, ma se il tuo programma lo richiede, limitalo a 64 * 64.
Punto bonus (posso farlo?): L' ingresso Z non dovrebbe essere> X * Y, ma se è più grande di Y * Z, quindi emettere il centro + al centro della griglia.
EDIT: l' ingresso Z non può essere maggiore di X * Y
Modifica 2 :. Ho apportato alcune modifiche a X e Y per essere più chiari
Questo è il codice golf, il codice più corto vince.