Оригинал статьи: http://www.cyberforum.ru/pascal/thread133142.html
Благодарен всем авторам, которые внесли свой вклад в сборку кода.
var a: array[1..12, 1..10] of integer; b: array[1..10] of integer; i, k, n, j, q: integer; begin write('Введите размерность матрицы, не больше 10 и не меньше 6 : '); repeat read(n); until (n >= 6) and (n < 11); writeln('Введите элементы одномерного массива:'); for k := 1 to n do begin read(b[k]); end; write('В какую строку будут вставляться элементы: '); repeat read(q); until (q >= 1) and (q <= n); writeln('Для вывода результата нажмите ENTER...'); readln; write('Исходная матрица:'); writeln; for i := 1 to n do begin for j := 1 to n do begin a[i, j] := random(10); write(a[i, j]:4); end; writeln; end; for i := n + 1 downto q do begin for j := 1 to n do begin a[i + 1, j] := a[i, j]; end; end; for i := 1 to n do begin a[q, i] := b[i]; end; writeln; writeln('Полученная матрица:'); for i := 1 to n + 1 do begin for j := 1 to n do begin write(a[i, j]:4); end; writeln; end; end.