Pascal ABC Вставить строку из единиц после строк, первый элемент которых четный

0 голосов
40 просмотров

Pascal ABC
Вставить строку из единиц после строк, первый элемент которых четный


Информатика (12 баллов) | 40 просмотров
Дан 1 ответ
0 голосов

Type
  mas=array[,] of integer;
const
  n=5;
  m=6;
var
  i,j,ik,jk,k:integer;
  a:mas;
  b:array[0..n-1]of integer;//вспомогательный массив
begin
setlength(a,n,m);
writeln('Массив:');
for i:=0 to n-1 do
  begin
  for j:=0 to m-1 do
    begin
    a[i,j]:=random(20);
    write(a[i,j]:4);
    end;
  writeln;
  end;
writeln('Вставка строк:');// в массиве b признак наличия в строке 1-го четного
for i:=0 to n-1 do
    if a[i,0] mod 2=0 then b[i]:=1;
for i:=0 to n-1 do k:=k+b[i];
k:=n+k-1;
setlength(a,k+1,m);
ik:=k;
for i:=n-1 downto 0 do
  begin
  if b[i]=1 then
      begin
      for jk:=0 to m-1 do a[ik,jk]:=1;
      ik:=ik-1;
      end;
  for jk:=0 to m-1 do a[ik,jk]:=a[i,jk];
  ik:=ik-1;
  end;
for i:=0 to k do
  begin
  for j:=0 to m-1 do write(a[i,j]:4);
  writeln;
  end;  
end.