program aibek;
var
i,j,N,M,e,f,c:integer;
a: array[1..100,1..100] of integer;
begin
randomize;
write('введите число строк ');
read(M);
write('введите число столбцов ');
read(N);
writeln('исходная матрица');
for i:=1 to M do
begin
for j:=1 to N do
begin
a[i,j]:=random(10)+1;
write(a[i,j]:4);
end;
writeln;
end;
writeln('Задание 1');
e:=0;
f:=0;
c:=0;
for i:=1 to M do
begin
for j:=1 to N do
if a[i,j] mod 2 =0 then e:=e+1 else f:=f+1;
if e=f then
begin
c:=c+1;
for j:=1 to N do
a[i,j]:=0;
end;
e:=0;
f:=0;
end;
if c>0 then
begin
for e:=1 to M do
for i:=1 to M-1 do
for j:=1 to N do
if a[i,j]=0 then
begin
a[i,j]:=a[i+1,j];
a[i+1,j]:=0;
end;
for i:=1 to M-c do
begin
for j:=1 to N do
write (a[i,j]:4);
writeln;
end;
end
else
writeln('таких строк нет');
writeln('Задание 2');
for i:=1 to M-c do
for e:=1 to N do
for j:=1 to N-1 do
if a[i,j]>a[i,j+1] then
begin
f:=a[i,j];
a[i,j]:=a[i,j+1];
a[i,j+1]:=f;
end;
for i:=1 to M-c do
begin
for j:=1 to N do
write (a[i,j]:4);
writeln;
end;
end.

Буду очень признателен!