Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.02.2014, 10:19   #11
саша9
Новичок
Джуниор
 
Регистрация: 24.02.2014
Сообщений: 1
По умолчанию

Помогите,пожалуйста.У меня уже есть готовая программа,мне только надо сделать еще одну кнопку,которая будет ставить кнопки "сортировка массива" и "сортировка обмена" симметрично.
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Math, Grids;

type
TForm1 = class(TForm)
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
edt1: TEdit;
strngrd1: TStringGrid;
btn1: TButton;
btn2: TButton;
edt2: TEdit;
edt3: TEdit;
lbl4: TLabel;
lbl5: TLabel;
btn3: TButton;
Label1: TLabel;
btn4: TButton;
lbl6: TLabel;

procedure btn3Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure btn4Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.btn3Click(Sender: TObject);
begin
close;
end;



procedure TForm1.btn1Click(Sender: TObject);
var
i,k:Integer;
begin
Randomize;
k:=StrToInt(edt1.text);
strngrd1.colcount:=k;

for i:=1 to strngrd1.colcount do strngrd1.cells[i-1,1]:=IntToStr(randomrange(StrToInt(edt 2.text), StrToInt(edt3.text)));;
strngrd1.Width:=strngrd1.ColCount*( strngrd1.DefaultColWidth+1)+4;
strngrd1.Cells[i,0] := Edt1.Text;
for i:=1 to strngrd1.colcount do
strngrd1.Cells[i-1,0]:=inttostr(i);

end;

procedure TForm1.btn2Click(Sender: TObject);

var
a:array[1..10] of integer;
min:integer;
buf:integer;
i,k,j:integer;
begin
for i:=1 to strngrd1.colcount do
strngrd1.cells[i-1,2]:=strngrd1.cells[i-1,1];
label1.caption:='';
for i:=0 to strngrd1.colcount-2 do
begin
min:=i;
for j:=i+1 to strngrd1.colcount do
if StrToInt(strngrd1.cells[j,2])<strtoint(strngrd1.cells[min,2]) then min:=j;
buf:=strtoint(strngrd1.cells[i,2]);
strngrd1.cells[i,2]:=strngrd1.cells[min,2];
strngrd1.cells[min,2]:=inttostr(buf);

for k:=1 to strngrd1.colcount-1 do
label1.caption:=label1.caption+ ' '+ strngrd1.cells[k,2];
label1.caption:=label1.caption+ #13;

end;
label1.caption:= label1.caption+ #13 + 'массив отсортирован';
strngrd1.Cells[i-1,2]:=inttostr(buf) ;
end;


procedure TForm1.FormActivate(Sender: TObject);
var
i:Integer;
begin
for i:=1 to strngrd1.colcount do
strngrd1.Cells[i-1,0]:=inttostr(i);
end;

procedure TForm1.btn4Click(Sender: TObject);
var
k,i,buf: Integer;
changed:Boolean;
begin
for i:=1 to strngrd1.colcount-1 do
strngrd1.cells[i-1,2]:=strngrd1.cells[i-1,1];
lbl6.caption:='';
repeat
changed:= False;
for k:=1 to strngrd1.colcount-2 do
if StrToInt(strngrd1.cells[k-1,2])>strtoint(strngrd1.cells[k,2]) then
begin
buf:= strtoint(strngrd1.cells[k-1,2]);
strngrd1.cells[k-1,2]:=strngrd1.cells[k,2];
strngrd1.cells[k,2]:=inttostr(buf);
changed:=True;
end;
for i:=1 to strngrd1.colcount do
lbl6.Caption:=lbl6.Caption+ ' ' + strngrd1.cells[i,2];
lbl6.caption:=lbl6.caption+ #13;
until not changed;
lbl6.caption:= lbl6.caption+ #13 + 'массив отсортирован';
end;



end.
саша9 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как написать свою процедуру? theYozh Помощь студентам 10 08.03.2009 11:18
Помогите правильно написать процедуру seasanya Microsoft Office Access 1 26.01.2009 22:02
Помогите написать процедуру на кнопку evrey Общие вопросы Delphi 1 16.06.2008 22:25
Как правильно написать процедуру Cold Went Компоненты Delphi 1 29.04.2008 14:21