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

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

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


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


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


удалить первую строку.


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


Информатика (101 баллов) | 113 просмотров
0

заменить минимальный элемент каждой строки на противоположный - это если был, например -5, то станет 5. Да?

0

Удалить первую строку - это как? Заполнить ее нулями?

0

Все задания в одной проге делать?

0

да....в одной проге

0

замените её нулями

0

Если никто раньше не решит, завтра сделаю

Дан 1 ответ
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('Массив:');
// в массиве b минимальное число строки
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);
    if j=0 then b[i]:=a[i,0];
    if a[i,j]    end;
  writeln;
  end;
writeln('Замена минимального противоположным:');
for i:=0 to 4 do
  begin
  for j:=0 to 5 do
    begin
    if a[i,j]=b[i] then a[i,j]:=-a[i,j];
    write(a[i,j]:4);
    end;
  writeln;
  end;  
writeln('Вставка столбцов:');
// в массиве b признак наличия в столбце максимума
for i:=0 to 5 do b[i]:=0;
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 3 do
  for j:=0 to k do
    a[i,j]:=a[i+1,j];
setlength(a,4,k+1);
for i:=0 to 3 do
  begin
  for j:=0 to k do
    write(a[i,j]:4);
  writeln;
  end;  
writeln('Обмен столбцов:');
for i:=0 to 3 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 3 do
  begin
  for j:=0 to k do  write(a[i,j]:4);
  writeln;
  end;
end.