Помогите пожалуйста! Кв. матрица: Одномерный массив из положительных элементов матрицы...

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

Помогите пожалуйста!
Кв. матрица:
Одномерный массив из положительных элементов матрицы
Удалить max
Переставить 2-ой и последний


Информатика (640 баллов) | 42 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const n=4;
var 
a:array[1..n,1..n] of integer;
b:array[1..n*n] of integer;
i,j,k,max,imax,c:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(51)-25;
   write(a[i,j]:4);
  end;
  writeln;
 end;
writeln('Полученный массив:');
k:=0;
for i:=1 to n do
 for j:=1 to n do
  if a[i,j]>0 then
   begin k:=k+1; b[k]:=a[i,j]; write(b[k]:4); end;
writeln;  
max:=b[1]; imax:=1;
for i:=1 to k do
  if b[i]>max then begin max:=b[i]; imax:=i; end;
writeln('max = b[',imax,'] = ',max);
for i:=imax to k-1 do b[i]:=b[i+1];
b[k]:=0;
writeln('Измененный массив:');
for i:=1 to k-1 do write(b[i]:4);
writeln;
c:=b[2]; b[2]:=b[k-1]; b[k-1]:=c;
writeln('Измененный массив:');
for i:=1 to k-1 do write(b[i]:4);
writeln;
end.

Пример:
Исходный массив:
  -8  -1   3   5
  22  25 -23 -17
  13   3  18  -1
   1 -19  13   0
Полученный массив:
   3   5  22  25  13   3  18   1  13
max = b[4] = 25
Измененный массив:
   3   5  22  13   3  18   1  13
Измененный массив:
   3  13  22  13   3  18   1   5

(194k баллов)