Информатика, вопрос задал nlo140 , 10 лет назад

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

вставить после столбцов с максимальными элементами столбец из единиц.
и
поменять местами предпоследний и последний столбцы.

Ответы на вопрос

Ответил Аноним
0
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.
Ответил Аноним
0
setlength - это неуклюжая с точки зрения языка попытка получить аналог массива с изменяемыми границами. Реализована в Delphi и PascalABC.NET
Ответил nlo140
0
а заменить её чем нибудь можно?
Ответил nlo140
0
ааа, вот оно что, спасибо)
Новые вопросы