В вашей программе есть несколько ошибок и недочетов, которые могут привести к тому, что матрица не будет отображаться корректно. Вот основные причины:
1. **Неправильное использование локальных и глобальных переменных**: В процедуре `ArrGeneration` вы создаете локальный массив `A`, который не имеет отношения к глобальному массиву `A`. Из-за этого, когда вы выводите значения массивов в функции `MatrixGen`, они содержат "мусор" или нули.
2. **Вывод неверного массива в функции `MatrixGen`**: Вместо `Write(A[i]);` и `Write(B[i]);` в функции `MatrixGen` должны быть использованы `A1` и `B1`, которые являются параметрами функции и передаются из главной программы.
3. **Неинициализированные значения**: Поскольку вы не заполните массивы `A` и `B`, когда пытаетесь их вывести в `MatrixGen`, они содержат неопределенные значения.
Вот исправленный код:
```pascal
{Учебная программа по генерации и выводу массива}
program arraytest;
uses crt;
type
TArr = array [1..15] of integer;
TArr2 = array [1..6] of integer; // Изменено на 6, чтобы соответствовать MatrixGen
var
i, j: byte;
A: TArr;
B: TArr2;
procedure ArrGeneration; // Процедура генерации массива
begin
Randomize; // Вызываем Randomize один раз перед генерацией
for i := 1 to 15 do
begin
A[i] := Random(40);
Writeln(A[i]);
end;
end;
function MatrixGen(var A1, B1: TArr2): integer;
begin
Randomize; // Вызываем Randomize здесь тоже, но лучше один раз в начале программы
for i := 1 to 6 do
begin
A1[i] := Random(40); // Заполняем массив A1
B1[i] := Random(40); // Заполняем массив B1
Write(A1[i], ' '); // Выводим значения
Write(B1[i], ' '); // Выводим значения
Writeln; // Переход на новую строку для лучшего оформления
end;
end;
begin
clrscr;
ArrGeneration; // Генерация и вывод A
MatrixGen(A, B); // Генерация и вывод матрицы
end.
```
### Основные изменения:
1. Удален локальный массив в `ArrGeneration`, использован глобальный массив `A`.
2. В функции `MatrixGen` использование `A1` и `B1` вместо несуществующих `A` и `B`.
3. Позволяет видеть значения массивов A и B после генерации, вызвав `Writeln` для лучшей читаемости.
Теперь программа должна корректно генерировать и выводить массивы и матрицу.