> Дано: Линейный, динамический, изменяющийся в цикле, в сторону увеличения, набор слов.
> Найти: Формировать вывод в виде квадратной матрицу этих слов. Соблюдать порядок следования.
> Использовать только один интерпретатор (любой) баш, авк Эммм.... Павлин ты опять?? Не бережёшь себя, ох, не бережёшь.
Ну, на, на "любом" интерпретаторе.
$ echo {A..C}{L..N}|jq --raw-input --slurp --raw-output '. / " "| (length|sqrt) as $col | . as $in |range(0;$col) | [.+range(0;$col)*$col] |map( $in[.])| join( " ")'
AL BL CL
AM BM CM
AN BN CN
$ _
Неполные квадраты и последний перевод строки не сделал, лениво. Есть смутное чувство, что одна переменная лишняя и страшная догадка, что обе перемен6ные лишние, но я не настолько в функциональное (или какое??) програмиирование, чтобы углубляться в это.