type arr = array[,] of integer; arrB = array[1..3] of integer;var i, n, m: integer; A1, A2, A3: arr; B1, B2, B3: arrB;procedure FormB(var A: arr;var B:arrB);var i, j, n, m: integer;begin n:= Length(A,0); m:= Length(A,1);for i := 0 to n-1 do begin for j := 0 to m-1 do begin A[i,j]:=random(10); write(A[i,j]:2); if A[i,j]=1 then B[1]:=B[1]+1; if A[i,j]=2 then B[2]:=B[2]+1; if A[i,j]=3 then B[3]:=B[3]+1 end; writeln endend;beginwrite('Введите N1 и M1:');readln(n,m);SetLength(A1, n, m);FormB(A1,B1);write('Число единиц, двоек и троек соответственно равно: ');for i := 1 to 3 do write(B1[i]:4);writeln;write('Введите N2 и M2:');readln(n,m);SetLength(A2, n, m);FormB(A2,B2);write('Число единиц, двоек и троек соответственно равно: ');for i := 1 to 3 do write(B2[i]:4);writeln;write('Введите N3 и M3:');readln(n,m);SetLength(A3, n, m);FormB(A3,B3);write('Число единиц, двоек и троек соответственно равно: ');for i := 1 to 3 do write(B3[i]:4)end.Сделал еще вариант с двумя процедурами:type arr = array[,] of integer; arrB = array[1..3] of integer;var A1, A2, A3: arr; B1, B2, B3: arrB;procedure FormB(var A: arr;var B:arrB);var i, j, n, m: integer;beginfor i:=1 to 3 do B[i]:=0;n:= Length(A,0);m:= Length(A,1);for i := 0 to n-1 do begin for j := 0 to m-1 do begin A[i,j]:=random(10); write(A[i,j]:2); if A[i,j]=1 then B[1]:=B[1]+1; if A[i,j]=2 then B[2]:=B[2]+1; if A[i,j]=3 then B[3]:=B[3]+1 end; writeln endend;procedure Inp(var A: arr;var B:arrB);var i,n,m:integer;beginwrite('Введите N и M: ');readln(n,m);SetLength(A, n, m);FormB(A,B);write('Число единиц, двоек и троек соответственно равно: ');for i := 1 to 3 do write(B[i]:4);writelnend;beginInp(A1,B1);Inp(A2,B2);Inp(A3,B3)end.