
Вобще задача такая: нужно отсортировать так, чтобы максимальный элемент оказался в одном углу, и так по убывающей числа бы в матрице шли в другой угол. Так получается, когда сортируешь матрицу 2 раза: сначала по строкам, затем - по столбцам (или наоборот).
Вот только мне не удается даже 1 раз 2-мерный массив отсортировать


Перепробовала много способов и вариантов, а результат один:либо просто все перетасовывается, либо половина чисел заменяется "0"-ми, или исчезает один из элементов, а все остальное сортируется .... Можно просто застрелиться, когда ты новичек в этом деле


Помогите пожалуйста!!
Внизу последнее из моих усилий, но тоже не работает

Там сначала идет вывод в StringGrid1, затем в StringGrid2 выводятся мах значения, а в StringGrid3 надо расположить отсортированный массив...
Цитата
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,m,t,c:integer;
begin
randomize;
for i:=1 to 5 do
for j:=1 to 5 do
begin
mass [i,j]:=random(21);
StringGrid1.cells[j-1,i-1]:=inttostr(mass[i,j]);
end;
for i:=1 to 5 do
begin
max[i]:=mass[i,1];
for j:=1 to 5 do
begin
if max[i]<mass[i,j] then begin
max[i]:=mass[i,j];
end;
end;
end;
for i:=1 to 5 do
stringgrid2.Cells[0,i-1]:=inttostr(max[i]);
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
a[j]:=mass[i,j];
end;
if j=5 then
begin
for t:=1 to 5 do
if a[t]<a[t+1] then
begin
c:=a[t];
a[t]:=a[t+1];
a[t+1]:=c;
end;
end;
for m:=1 to 5 do
stringgrid3.Cells[m-1,i-1]:=inttostr(a[i]);
end;
end;
end.