var
a: array[1..20, 1..20] of integer;
n, m, i, j, jm: integer;
begin
randomize;
writeln('Введите количество строк и столбцов соответственно: ');
readln(n, m);
writeln('Сгенерированная матрица: ');
for i := 1 to n do
begin
jm := 1;
for j := 1 to m do
begin
a[i, j] := random(99);
write(a[i, j]:4);
if (i mod 2 = 0) and (a[i, jm] > a[i, j])
then jm := j;
end;
if i mod 2 = 0 then write(' min=a[', i, ',', jm, ']=', a[i, jm]);
writeln;
end;
readln;
end.
TMatrix = array[,] of integer;
TVector = array of integer;
var
A: TMatrix;
B: TVector;
m,n,i,j: integer;
procedure CreateMulVector(A:TMatrix; var B: TVector);
var i, j: integer; f: boolean;
begin
SetLength(B, Length(A, 0));
for i := 0 to Length(A, 0) - 1 do begin
B[i] := 1; f := false;
for j := 0 to Length(A, 1) - 1 do begin
if A[i,j] > 0 then begin
f := true;
B[i] := B[i] * A[i,j];
end;
end;
if not f then B[i] := 0;
end;
end;
procedure WriteVector(B: TVector);
var i: integer;
begin
for i := 0 to Length(B) - 1 do
write(B[i]:3);
end;
begin
randomize;
n := Random(10) + 1;
m := Random(10) + 1;
SetLength(A, n, m);
writeln('Исходная матрица:');
for i := 0 to n-1 do begin
for j := 0 to m-1 do begin
A[i,j] := Random(10) - 5;
write(A[i,j]:4);
end;
writeln;
end;
CreateMulVector(A, B);
writeln('Полученный вектор:');
WriteVector(B);
end.