|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
сортировка методом обмена (одномерный и двумерный массив)
сделал сортировку на одномерный массив, все работает, только чтоб сортировало, надо два раза нажать button4....вот код
PHP код:
Сделал сортировку на двумерный массив, (двумерный массив перевожу в одномерный, сортирую предыдущим кодом и готовый массив перевожу в двумерный массив), так вот, чтоб отсортировать, вставляю тот же код(предыдущего массива), но кнопка button2 нажимается только ОДИН раз т.е. на доконца сортирует, надо чтоб это кнопка нажималась ДВА раза, и все сортировало..................вот код Код HTML:
PS: мучаюсь уже 3 неделю, помогите пжлст Заранее блогодарен |
#2
|
|||
|
|||
Почему то новички путают индексы при обращении к ячейкам StringGrid.
Первый в квадратных скобках индекс колонки, второй через запятую - строки, а не наоборот, хотя легко увидеть при наведении мышки на слово Cell: "[ACol : Integer; ARow : Integer]". Классический "пузырьковый" метод сортировки (или как его назвал автор темы "метод обмена"): Код:
procedure TForm1.Button4Click(Sender: TObject); var i, c, j : integer; StopSort : Boolean; begin for I := P downto 0 do begin StopSort := True; for J := 1 to I do if a[J-1] > a[J] then begin //if a[J] > a[J-1] then begin //изменяет порядок сортировки c := A[J]; A[J] := A[J-1]; A[J-1] := c; StopSort := False; end; if StopSort then Break; end; for i := 0 to P do //!!!в квадр. скобках первым идет индекс колонки,затем индекс строки stringGrid1.cells[0, i] := IntToStr(a[i]); end; Не забывайте делать резервные копии Последний раз редактировалось san-46, 09.12.2008 в 11:57. |
#3
|
|||
|
|||
Спасибо большое, помогло!!!!!!!!!!
|