program marazm3;
uses crt;
var
a:array[1..1000,1..800] of integer; {создаем массив}
i,k,n,l,j,m:integer;
begin
writeln('Simple Arrays');writeln('press Enter to continue');readln; {начинаем}
Write('Enter number of strings: ');readln(n); {запоминаем количество строк}
write('Enter number of columns: ');readln(m); {запоминаем количество столбцов}
randomize; {Случайно заплняем все клеточки массива}
for i:=1 to m do begin
for k:=1 to n do begin
a[i,k]:=random(10); {числами от нуля до 9}
end;
end;
For k:=1 to n do begin
writeln('--------------------------------------------------------------');
For i:=1 to m do begin {вот оно, графическое изображение массива}
write(' ',a[i,k],' |');
end;
writeln;
end;
writeln('--------------------------------------------------------------');
writeln('press enter');
readln;
for i:=m downto 3 do begin {теперь делаем первуую часть задачи.отодвигаем начиная с третьего}
for k:=1 to n do begin {все ячейки столбца}
a[i*2-2,k]:=a[i,k]; {отодвигаем столбцев на понятно сколько едениц, если почитаешь код}
a[i*2-1,k]:=a[1,k]; {а в столбец стоящий после него заисываем ячейки первого}
end;
end;
for k:=1 to n do a[3,k]:=a[1,k]; {а в третий столбец пишем тоже ячейки первого, т.к. он не попал в промежуток прошлого цикла}
writeln('Otredactirovannij massiv');writeln; {графически представляем массив}
For k:=1 to n do begin {который получился после преобразований}
writeln('--------------------------------------------------------------');
For i:=1 to m*2-1 do begin
write(' ',a[i,k],' |');
end;
writeln;
end;
writeln('--------------------------------------------------------------');
writeln('press enter'); {нарисовали его, просим нажать ентер}
readln;
For k:=1 to m*2+1 do begin {теперь вторая часть задания}
for l:=1 to n do begin {с мы проверяем посторочно каждую ячеку каждого столбца}
If a[k,l] mod 5=0 then {если делится на 5}
begin
For j:=0 to n do a[l,j]:=0; {то записываем в этот столбец нули}
end;
end;
end;
writeln('Massiv s obnulennimi stolbzami s 4islami, kratnimi 5');writeln;
For k:=1 to n do begin {теперь рисуем получившийся массив}
writeln('--------------------------------------------------------------');
For i:=1 to m*2-1 do begin
write(' ',a[i,k],' |');
end;
writeln;
end;
writeln('--------------------------------------------------------------');
writeln('press enter');
readln;
writeln('Otredactirovannij massiv, bez nulevih stolbzov');writeln;
For k:=1 to n do begin {и на последок рисуем массив только без обнуленных строк}
writeln('--------------------------------------------------------------');
For i:=1 to m*2-1 do begin
if a[i,k]>0 then
write(' ',a[i,k],' |');
end;
writeln;
end;
writeln('--------------------------------------------------------------');
writeln('press enter to exit');
readln;
end.