Objetivo
Dada uma matriz 2D de qualquer tamanho, escreva um programa ou função para alternar alternadamente as colunas e linhas
Exemplo
a b c d e
f g h i j
k l m n o
Todos os elementos no primeiro deslocamento da coluna para baixo uma linha, a segunda troca de coluna até uma linha, o terceiro deslocamento para baixo uma fileira e assim por diante, de acondicionamento quando eles atingem a borda.
k g m i o
a l c n e
f b h d j
Todos os elementos da primeira linha são deslocados para a direita , o segundo para a esquerda , o terceiro para a direita etc., quebrando quando atingem a borda.
o k g m i
l c n e a
j f b h d
Vou seguir a tradição de selecionar o código de trabalho mais curto como a melhor resposta