Escriba un programa que tome un bloque rectangular de texto compuesto por X
'sy .
', como este aproximado A
:
......
..XX..
.X..X.
.XXXX.
.X..X.
.X..X.
Imprima una representación de esta cuadrícula girada 45 grados en el sentido contrario a las agujas del reloj dibujando una barra inclinada hacia adelante o hacia atrás según el contexto, en todas partes un X
borde .
al lado de la cuadrícula (con espacios que completan el resto):
/\/\
/ /\ \
\/ / \
/\/ /\ \
\ / \/
\ \
\ \
\/
El número de espacios iniciales y finales (y nuevas líneas) no importa siempre que X
las barras mantengan la forma de los 's en la entrada. Está bien recortar filas o columnas adicionales de .
's.
Para E / S, puede usar cualquier combinación de parámetros stdin / stdout / files / command line. Por ejemplo, su secuencia de comandos puede tomar un nombre de archivo del X.
patrón y reescribir el archivo con el patrón de barra diagonal. O su script puede tomar el X.
patrón de stdin línea por línea (presionando d
cuando haya terminado) y generar el resultado en stdout.
La entrada puede ser arbitrariamente grande, pero puede suponer que siempre está bien formateada.
No hay caracteres además / \
y las nuevas líneas deben estar en cualquier salida.
Tanteo
El código más corto en bytes gana. Use https://mothereff.in/byte-counter como contador de bytes si usa caracteres no ASCII.
Bonificación: menos 50 bytes si puede cambiar (reemplazar, no eliminar) un carácter en su programa para que la barra diagonal gire 45 grados en sentido horario , por ejemplo:
/\/\
/ /\ \
/ \ \/
/ /\ \/\
\/ \ /
/ /
/ /
\/
Muestras de entrada
XXXXXXXXX
X.......X
X.XXXXX.X
X.X...X.X
X.X.X.X.X
X.X...X.X
X.XXXXX.X
X.......X
XXXXXXXXX
XXX...XXX....XXX...XXX
X..X..X..X..X.....X...
XXX...XXX...X.....X.XX
X.....X.....X.....X..X
X.....X......XXX...XXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...X
X...X...............X...............X...........X...................X...X
X...X...XXXXXXXXX...X...XXXXX...XXXXXXXXX...XXXXX...XXXXX...XXXXX...X...X
X...............X.......X...X...........X...........X...X...X.......X...X
XXXXXXXXX...X...XXXXXXXXX...XXXXXXXXX...XXXXX...X...X...X...XXXXXXXXX...X
X.......X...X...............X...........X...X...X...X...X...........X...X
X...X...XXXXXXXXXXXXX...X...X...XXXXXXXXX...XXXXX...X...XXXXXXXXX...X...X
X...X...............X...X...X.......X...........X...........X.......X...X
X...XXXXXXXXXXXXX...XXXXX...XXXXX...X...XXXXX...XXXXXXXXX...X...XXXXX...X
X...........X.......X...X.......X...X.......X...........X...X...........X
X...XXXXX...XXXXX...X...XXXXX...X...XXXXXXXXX...X...X...X...XXXXXXXXXXXXX
X.......X.......X...X...X.......X.......X.......X...X...X.......X.......X
XXXXXXXXXXXXX...X...X...X...XXXXXXXXX...X...XXXXX...X...XXXXX...XXXXX...X
X...........X...X...........X.......X...X.......X...X.......X...........X
X...XXXXX...X...XXXXXXXXX...XXXXX...X...XXXXX...XXXXX...XXXXXXXXXXXXX...X
X...X.......X...........X...........X.......X...X...X...............X...X
X...X...XXXXXXXXX...X...XXXXX...XXXXXXXXX...X...X...XXXXXXXXXXXXX...X...X
X...X...........X...X...X...X...X...........X...............X...X.......X
X...XXXXXXXXX...X...X...X...XXXXX...XXXXXXXXX...XXXXXXXXX...X...XXXXXXXXX
X...X.......X...X...X...........X...........X...X.......X...............X
X...X...XXXXX...XXXXX...XXXXX...XXXXXXXXX...XXXXX...X...XXXXXXXXX...X...X
X...X...................X...........X...............X...............X...X
X...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Preguntas relacionadas:
Dibuje la curva de Hilbert con barras
Alinee una forma ASCII horizontalmente alineada y en ángulo recto a lo largo de una diagonal