![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.05.2011
Сообщений: 14
|
![]()
Сортировка массива по убыванию....Мне необходим о прокомментить код программы...
procedure TForm1.SortDer2; var I,J,k,T,N,P,x : Integer; Tmp : Real; Kol_srav,Kol_Per : integer; begin N:= SpinEdit1.Value; i:=2; repeat t:=i; while t<>1 do begin k:=t div 2; if Arr[k-1]<=Arr[t-1] then begin t:=1 ;Kol_sravDer := Kol_sravDer +1 // сравнение элементов end else begin Kol_sravDer := Kol_sravDer +1; Tmp:=Arr[k-1]; // Переустановка Элементов Arr[k-1]:=Arr[t-1]; Arr[t-1]:=Tmp; t:=k; Kol_PerDer := Kol_PerDer +1; end; end; inc(i) until not(i<=n); i:=n-1; repeat Tmp:=Arr[i]; Arr[i]:=Arr[0]; Arr[0]:=Tmp; t:=1; Kol_Per := Kol_PerDer +1; // Переустановка Элементов while t<>0 do begin k:=2*t; if k>i then t:=0 else begin if k<i then if Arr[k]<Arr[k-1] then inc(k); Kol_sravDer := Kol_sravDer +1 ; if Arr[t-1]<=Arr[k-1] then begin t:=0;Kol_sravDer := Kol_sravDer +1 end else begin Kol_sravDer := Kol_sravDer +1; Tmp:=Arr[k-1]; Arr[k-1]:=Arr[t-1]; Arr[t-1]:=Tmp; // Переустановка Элементов t:=k; Kol_PerDer := Kol_PerDer +1; end; end; end; dec(i) until not(i>=0); n := SpinEdit1.Value+1; edit4.Text := IntToStr(Kol_PerDer); edit5.Text := IntToStr(Kol_SravDer); begin for p:=0 to n do begin NDgrid.Cells[2,p+1]:=IntToStr(arr[p]); end; end; end; |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм Флойда. Поиск Кратчайшего пути. | Shady | Помощь студентам | 5 | 06.10.2014 18:29 |
Алгоритм Флойда | Александр36М | Помощь студентам | 5 | 14.10.2011 16:16 |
Алгоритм Флойда [списки] | Panzerfaust | Помощь студентам | 2 | 06.05.2011 16:49 |
Алгоритм Флойда-Уоршела | _Disa | Общие вопросы C/C++ | 4 | 17.11.2010 11:36 |
Алгоритм Флойда | Дим@@ | Помощь студентам | 4 | 25.10.2010 20:19 |