procedure TForm1.Button1Click(Sender: TObject);
var
n: integer;
A : array [1..10] of integer;
begin
Randomize;
Edit1.Clear;
For n := 1 To 10 Do
begin
A[n] := Random(10);
Edit1.Text := Edit1.Text +' ' + IntToStr(A[n]);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
mas: Array of integer;
N, I: Integer;
begin
Randomize;
N := strtoint(edit1.text);
SetLength(mas, N);
for I := 0 to N - 1 do
mas[i] := random(N);
Memo1.Clear;
for I := 0 to N - 1 do
Memo1.Lines.Add(inttostr(mas[i]));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
Edit1.Clear;
Edit1.Text := IntToStr(Random(1001));
end;
Edit1.Text := Edit1.Text + ' ' + IntToStr(A[n]);
Edit1.Text := Edit1.Text + IntToStr(A[n]);
Procedure sort(size: integer; vid: byte);
var
k: integer; // текущий элемент массива
changed: boolean; // TRUE, если в текущем цикле были обмены
buf: integer; // буфер для обмена элементами массива
begin
// сортировка массива методом обмена
repeat
Changed:= FALSE; // пусть в текущем цикле нет обменов
if vid = 0 then // сортируем по возрастанию
begin
for k:= 0 to size - 1 do
if mas[k] > mas[k + 1] then
begin // обменяем k-й и k+1-й элементы
buf := mas[k];
mas[k] := mas[k + 1];
mas[k + 1] := buf;
changed := TRUE;
end;
end
else // сортируем по убыванию
begin
for k:= 0 to size - 2 do
if mas[k] < mas[k + 1] then
begin // обменяем k-й и k+1-й элементы
buf := mas[k];
mas[k] := mas[k + 1];
mas[k + 1] := buf;
changed := TRUE;
end;
end;
until not changed; // если не было обменов, значит
// массив отсортирован
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
listbox1.Clear;
Edit2.Text:= timetostr(time);
sort(length(mas), 0);
// вывод массива
for i:= 0 to length(mas) - 1 do
Form1.ListBox1.Items.Add(inttostr(mas[i]));
Edit3.Text:= timetostr(time);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
i: integer;
begin
Edit2.Text:= timetostr(time);
listbox2.Clear;
sort(length(mas), 1);
// вывод массива
for i:= 0 to length(mas) - 1 do
Form1.ListBox2.Items.Add(inttostr(mas[i]));
Edit3.Text:= timetostr(time);
end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Memo1: TMemo;
ListBox1: TListBox;
ListBox2: TListBox;
ScrollBar1: TScrollBar;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
GroupBox1: TGroupBox;
Label4: TLabel;
BitBtn1: TBitBtn;
Button1: TButton;
Button2: TButton;
Button3: TButton;
BitBtn2: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label5: TLabel;
Label6: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;
Type
mas=array[1..3] of integer;
var
Form1: TForm1;
a:mas;
n:integer;
implementation
{$R *.dfm}
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Memo1.Lines.Clear;
Label4.Caption:=TimeToStr(Time);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Randomize;
Edit1.Clear;
begin
for n:= 1 to 3 do
begin
A[N] := Random(10);
Edit1.Text := Edit1.Text + IntToStr(A[N]);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
mas: Array of integer;
N, I: Integer;
begin
Randomize;
N := strtoint(edit1.text);
SetLength(mas, N);
for I := 0 to N - 1 do
mas[i] := random(N);
Memo1.Clear;
for I := 0 to N - 1 do
Memo1.Lines.Add(inttostr(mas[I]));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i, temp_1, temp_2: integer;
search: boolean;
temp: string;
begin
ListBox1.Clear; ListBox1.Sorted:= False; {î÷èñòêà ñïèñêà}
Edit2.Text:= TimeToStr(Now); {íà÷àëüíîå âðåìÿ}
for i:= 0 to Memo1.Lines.Count - 1 do ListBox1.Items.Add(Memo1.Lines.Strings[i]); {ïåðåíîñ äàííûõ}
{ïðîöåäóðà ñîðòèðîâêè ListBox1 ïî âîçðàñòàíèþ}
search:= True;
while search do
begin
search:= False;
for i:= 0 to ListBox1.Items.Count - 2 do
begin
temp_1:= StrToInt(ListBox1.Items.Strings[i]);
temp_2:= StrToInt(ListBox1.Items.Strings[i+1]);
if temp_1 < temp_2 then
begin
temp:= ListBox1.Items.Strings[i];
ListBox1.Items.Strings[i]:= ListBox1.Items.Strings[i+1];
ListBox1.Items.Strings[i+1]:= temp;
search:= True;
end;
end;
end;
{îêîí÷àíèå ïðîöåäóðû ñîðòèðîâêè}
Edit4.Text:= TimeToStr(Now); {êîíå÷íîå âðåìÿ}
end;
procedure TForm1.Button3Click(Sender: TObject);
var
i, j: integer;
a: string;
begin
Edit3.Text:= timetostr(time);
listbox2.Items.Clear;
listbox2.Items.AddStrings(listbox1.Items);
for i:= 0 to listbox2.Count-1 do
for j:= i + 1 to listbox2.Count-1 do
begin
if j= 0 then
begin
if strtoint(listbox2.Items[i]) > strtoint(listbox2.Items[j]) then
begin
a:= listbox2.Items[i];
listbox2.Items[i]:= listbox2.Items[j];
listbox2.Items[j]:= a;
end;
end
else
begin
if strtoint(listbox2.Items[i]) > strtoint(listbox2.Items[j]) then
begin
a:=listbox2.Items[i];
listbox2.Items[i]:= listbox2.Items[j];
listbox2.Items[j]:= a;
Edit5.Text:= timetostr(time);
Label6.Caption:='Âðåìÿ ñîðòèðîâêè'+#13+'ìàññèâà â ïàìÿòè';
end;
end;
end;
end;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.