Для подобной задачи считаю более подходящим вариант с построчным выводом, как уже писал. Не обязательно по одной строке, можно по 2х байтным вертикальным блокам
024...
135...
или
135...
024...

Преимущество скорости постолбцового вывода меркнет перед многочисленными разрывами.

- - - Добавлено - - -

Вполне возможно подойдет компромиссный вариант - выводить символ естественным образом (по столбацам, можно через стек), а потом смещаться вправо и выводить следующий символ и так всю строку.
Что касается пустых строк да и всех пробелов, то их конечно не нужно выводить, если у каждого ненулевого (с точками) символа нижняя строка или две (смотря какой шаг сдвига) нулевые.