IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Как правильно отсортировать двумерный массив?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Такая, вроде бы банальная задачка: как отсортировать двумерный массив в Дэлфи? Но "чем только я ее ни пробовала" .... mega_chok.gif
Вобще задача такая: нужно отсортировать так, чтобы максимальный элемент оказался в одном углу, и так по убывающей числа бы в матрице шли в другой угол. Так получается, когда сортируешь матрицу 2 раза: сначала по строкам, затем - по столбцам (или наоборот).
Вот только мне не удается даже 1 раз 2-мерный массив отсортировать blink.gif , не то что 2 раза... wacko.gif
Перепробовала много способов и вариантов, а результат один:либо просто все перетасовывается, либо половина чисел заменяется "0"-ми, или исчезает один из элементов, а все остальное сортируется .... Можно просто застрелиться, когда ты новичек в этом деле mega_chok.gif wink.gif

Помогите пожалуйста!!
Внизу последнее из моих усилий, но тоже не работает sad.gif
Там сначала идет вывод в 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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Narcisa   Как правильно отсортировать двумерный массив?   18.11.2006 13:41
мисс_граффити   самый простой вариант: "разворачиваешь" …   18.11.2006 14:53
klem4   Если массив очень большой, то создание еще такого …   18.11.2006 15:37
мисс_граффити   klem4, а кто говорил про еще один такой же? и все-…   18.11.2006 16:22
klem4   Ну а как ты еще его развернешь ? Если только дейст…   18.11.2006 16:35
мисс_граффити   именно что в уме... какая разница, что делфи его с…   18.11.2006 17:34
klem4   Мм что-то я тебя не очень понимаю, покажи что ты и…   18.11.2006 17:46
мисс_граффити   ну... грубо говоря, вот так. for k:=1 to 25 do //д…   18.11.2006 21:40
volvo   :blink: А, простите, зачем Absolute? Что, нельзя п…   18.11.2006 21:42
klem4   А как вам такой вариант: {$mode delphi} uses…   18.11.2006 23:30
мисс_граффити   По-моему, Narcisa давно испугалась и убежала.   19.11.2006 4:26
Narcisa   неее :) просто возможности нету часто в интерне…   19.11.2006 21:44
klem4   Результат должен быть совсем не таким :blink: В…   19.11.2006 23:12


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 17:03
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name