![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
|||
|
|||
|
Спасибо большое, помогло!!!!!!!!!!
|