Оригинал статьи: http://www.cyberforum.ru/pascal/thread133142.html
Благодарен всем авторам, которые внесли свой вклад в сборку кода.
Обращение к элементу осуществляется по формуле:
A[(i div кол-во строк)+1, (i mod кол-во столбцов)+1]
const N = 7; {кол-во строк} M = 6;{кол-во столбцов} var A: array[1..N, 1..M] of byte; i: byte; begin Randomize; for i := 0 to N * M - 1 do begin A[(i div N) + 1, (i mod M) + 1] := random(99); write(A[(i div N) + 1, (i mod M) + 1]:4); if ((i + 1) mod M = 0) then writeln; end; readln; end.