目的
任意のサイズの2D配列が与えられた場合、列と行を交互にシフトするプログラムまたは関数を作成します
例
a b c d e
f g h i j
k l m n o
内のすべての要素最初の列シフトダウン一列、第二列シフトアップ一列、第三のシフトダウン彼らはエッジを1行ように、ラッピングに到達したとき。
k g m i o
a l c n e
f b h d j
最初の行のすべての要素は右にシフトし、2番目は左に、3番目は右に、など、端に達すると折り返されます。
o k g m i
l c n e a
j f b h d
最短の作業コードをベストアンサーとして選択するという伝統に従います。