Дан двумерный массив размерностью 5 х 6, заполненный случайным образом. вставить после столбцов с максимальными элементами столбец из единиц. и поменять местами предпоследний и последний столбцы.

meowth1 meowth1    1   08.06.2019 22:30    1

Ответы
Sonriskova Sonriskova  07.07.2020 22:20
Type
  mas=array[,] of integer;
var
  i,j,ik,jk,k,max:integer;
  a:mas;
  b:array[0..5]of integer;//вс массив
begin
setlength(a,5,6);
writeln('Массив:');
for i:=0 to 4 do
  begin
  for j:=0 to 5 do
    begin
    a[i,j]:=random(-10,10);
    write(a[i,j]:4);
    end;
  writeln;
  end; 
writeln('Вставка столбцов:');
// в массиве b признак наличия в столбце максимума
for i:=0 to 4 do
  for j:=1 to 5 do
    if a[i,j]>max then
      max:=a[i,j];
for i:=0 to 4 do
  for j:=0 to 5 do
    if a[i,j]=max then b[j]:=1;
for i:=0 to 5 do k:=k+b[i];
k:=5+k;
setlength(a,5,k+1);
jk:=k;
for j:=5 downto 0 do
  begin
    if b[j]=1 then
      begin
      for ik:=0 to 4 do a[ik,jk]:=1;
      jk:=jk-1;
      end;
    for ik:=0 to 4 do a[ik,jk]:=a[ik,j];
    jk:=jk-1;
  end;
for i:=0 to 4 do
  begin
  for j:=0 to k do
    write(a[i,j]:4);
  writeln;
  end;  
writeln('Обмен столбцов:');
for i:=0 to 4 do
  begin
  b[i]:=a[i,k-1];
  a[i,k-1]:=a[i,k];
  a[i,k]:=b[i];
  end;
for i:=0 to 4 do
  begin
  for j:=0 to k do
    write(a[i,j]:4);
  writeln;
  end;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика