Помощь - Поиск - Пользователи - Календарь
Полная версия: Обработка матрицы
Форум «Всё о Паскале» > 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.


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