Помощь - Поиск - Пользователи - Календарь
Полная версия: Обработка матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
RioDezz
Здравствуйте! Помогите, пожалуйста, с задачей!

Из заданной целочисленной матрицы n*m удалить столбцы, в которых встречаются более трех четных элементов.
-Федосеев Павел-
Покажи, что ты уже успел сделать.
RioDezz
Уже все сделал. Не знаю на сколько верно сделано, но работает.

type
mas=array[1..20,1..20] of integer;
var
a:mas;
n,m,i,j,z,y,m1:integer;
begin
n:=10;
m:=15;
m1:=m;
writeln('Ishodnaya matrica:');
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:3);
end;
writeln;
end;
{удаляем столбцы в которых более трех четных элементов}
for j:=1 to m do
begin
z:=0;
for i:=1 to n do
begin
if (a[i,j] mod 2)=0 then z:=z+1;
end;
if z>3 then
begin
for i:=1 to n do
begin
for y:=j to m do a[i,y]:=a[i,y+1];
end;
m:=m-1;
end;
end;
writeln;
writeln('Udaleno ',m1-m,' stolbcov');
{вывод обработанной матрицы}
for i:=1 to n do
begin
for j:=1 to m do
begin
write(a[i,j]:3);
end;
writeln;
end;
readln;
end.


Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.