Io ho scritto due funzioni di rotazione che operano su un vettore di caratteri di lunghezza pari ad un quadrato perfetto.
La prima ruota di numero_linea volte ogni linea dispari verso destra e numero_linea volte ogni linea pari verso sinistra. La seconda ruota di numero_colonna volte ogni colonna dispari verso il basso e numero_colonna volte ogni colonna pari verso l'alto.
Esempio:
abcde
fghij
klmno
pqrst
uvwxy
diventa:
eabcd
hijfg
mnokl
tpqrs
uvwxy
e in fine:
unoxd
epqcg
hvwfl
mabks
tijry
Vorrei ridurre il tutto ad una sola funzione, o meglio, ad un solo ciclo che sposti ogni carattere nella sua posizione finale senza effettuare tutti i passaggi.
È possibile? Qualche suggerimento?