Учебный курс Программирование на Delphi. Модуль 10

Материал из Wiki Mininuniver
Перейти к навигацииПерейти к поиску
Программы сортировки

Пример 1

  • Условие

Массив A(n) отсортировать в порядке возрастания элементов.

  • Использованные компоненты
11-1.JPG
  • Программный код
 unit Unit1;
 interface
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, XPMan, Grids, StdCtrls, Buttons;
 type
  x=array [1..20] of real;
   TForm1 = class(TForm)
     Button1: TButton;
     Edit1: TEdit;
     Label1: TLabel;
     StringGrid1: TStringGrid;
     Label2: TLabel;
     Button2: TButton;
     StringGrid2: TStringGrid;
     Label3: TLabel;
     XPManifest1: TXPManifest;
     BitBtn1: TBitBtn;
     procedure Button1Click(Sender: TObject);
     procedure Button2Click(Sender: TObject);
     procedure BitBtn1Click(Sender: TObject);
   private
   {Private declarations }
   public
   {Private declarations }
   end;
 var
   Form1: TForm1;
   a:x; i, j, n, k: integer; R: real;
  implementation
  {$R *.dfm}   
 procedure max (q: integer; var nmax: integer);
    var m: real; l: integer;
   begin
         m:=A[1]; nmax:=1;
         for l:=1 to q do
             if A[l]>m then
                begin
                      m:= A[l]; nmax:= l
                end;
 end; {конец описания процедуры}
 procedure TForm1.Button2Click(Sender: TObject);
 begin
 randomize;
 n:=strtoint(edit1.Text);
 j:=n;
 for i:=1 to n do begin
 a[i]:=random(11);
 stringgrid1.Cells[i-1,0]:=floattostr(a[i]);
 end;
 end;
 procedure TForm1.Button1Click(Sender: TObject);
    begin {основная программа}
       while j <> 1 do
           begin
                max (j, k);
                R:= A[k]; A[k]:= A[j]; A[j]:= R;
                j:= j-1;
                end;
                for i:=1 to n do
                stringgrid2.Cells[i-1,0]:=floattostr(a[i]);
           end;
 procedure TForm1.BitBtn1Click(Sender: TObject);
 begin
 close;
 end;
 end.


  • Форма с результатом работы программы


Задание

Литература

Ссылки

Учебный курс Программирование на Delphi

Учебный план курса Программирование на Delphi