12. даны матрицы а(5,6) и в(5,6). из максимальных элементов столбцов матрицы а сформировать вектор с. из минимальных элементов столбцов матрицы в сформировать вектор d. если количество четных элементов в векторе с больше количества четных элементов в векторе d, то добавить вектор с в матрицу а 6-ой строкой, иначе объединить два вектора с и d в один м(12). pascal abc
A, B: array [1 .. 6, 1 .. 6] of byte;
C, D: array [1 .. 6] of byte;
M: array [1 .. 12] of byte;
i, j, MIN, MAX, evenCountC, evenCountD: byte;
begin
randomize;
for j := 1 to 6 do
begin
MAX := 0; MIN := 100;
evenCountC := 0; evenCountD := 0;
for i := 1 to 5 do
begin
A[i, j] := random(20);
B[i, j] := random(20);
if A[i, j] > MAX then MAX := A[i, j];
if B[i, j] < MIN then MIN := B[i, j];
end;
C[j] := MAX;
D[j] := MIN;
end;
writeln(' ***Матрица A***');
for i := 1 to 5 do
begin
for j := 1 to 6 do write(A[i, j]:4);
writeln;
end;
writeln;
writeln(' ***Матрица B***');
for i := 1 to 5 do
begin
for j := 1 to 6 do write(B[i, j]:4);
writeln;
end;
writeln;
writeln('***Вектор C***');
for i := 1 to 6 do
begin
writeln(C[i]:7);
if C[i] mod 2 = 0 then evenCountC := evenCountC + 1;
end;
writeln('Количество четных элементов в векторе C = ', evenCountC);
writeln;
writeln('***Вектор D***');
for i := 1 to 6 do
begin
writeln(D[i]:7);
if D[i] mod 2 = 0 then evenCountD := evenCountD + 1;
end;
writeln('Количество четных элементов в векторе D = ', evenCountD);
if evenCountC > evenCountD then
begin
writeln('Добавляем вектор C к матрице A.');
for i := 1 to 6 do A[6, i] := C[i];
writeln(' ***Измененная матрица A***');
for i := 1 to 6 do
begin
for j := 1 to 6 do write(A[i, j]:4);
writeln;
end;
end
else
begin
writeln('Объединяем два вектора C и D.');
writeln('Новый вектор M');
for i := 1 to 6 do M[i] := C[i];
for i := 7 to 12 do M[i] := D[i - 6];
for i := 1 to 12 do writeln(M[i]:7);
end;
readln;
end.