|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
помогите отладить программу или исправить
Касса вокзала.
· Структура данных хранит следующие сведения: название пункта назначения, номер поезда, время отправления · Отсортировать данные методом улучшенного пузырька по номерам поездов · Сформировать список поездов, направляющихся в заданный пункт, после заданного с клавиатуры времени. что-то тупит с юнитами. Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls,U2; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Mas:Tdar; r:Tpoezd; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin r.naz:=Edit1.Text; r.nomer:=strtoint(Edit2.Text); r.time:=strtoint(Edit3.Text); Add_to_Array(Mas,r); end; procedure TForm1.Button2Click(Sender: TObject); Begin Var I:integer; S:string; Begin For I:=0 to high(Mas) Do begin S:=mas[i].fam+' '+inttostr(mas[i].naz)+' '+inttostr(mas[i].nomer)+' '+inttostr(mas[i].time); Memo1.Lines.Add(s); end; End; procedure TForm1.Button3Click(Sender: TObject); begin Sort_Array(Mas); end; procedure TForm1.Button5Click(Sender: TObject); begin begin Edit1.Clear; Edit2.Clear; Edit3.Clear; end; end; procedure TForm1.Button6Click(Sender: TObject); begin Memo1.Clear; end; procedure TForm1.Button7Click(Sender: TObject); begin Close; end; procedure TForm1.Button4Click(Sender: TObject); Var s:string; begin Poisk(Mas,s); Memo1.Lines.Add(s); end; end. unit U2; interface uses Sysutils,Dialogs,Stdctrls; Type TPoezd=record naz:string[10]; nomer:byte; time:byte; sb:real; end; Tdar=array of TPoezd; Procedure Add_to_Array(Var Mas:Tdar;r:TPoezd); Procedure Sort_Array(Var Mas:Tdar); Procedure Poisk(Mas:Tdar; Var s:string); implementation Procedure Add_to_Array(Var Mas:Tdar;r:TPoezd); Begin If Mas=nil then Setlength(Mas,1) else Setlength(Mas,length(Mas)+1); Mas[high(Mas)]:=r; End; Procedure Sort_Array( Var Mas:Tdar); var i,j:integer; r:Tstud; Begin For I:=0 to high(MAS)-1 do Mas[i].sb:=(Mas[i].time); { Sortirovka massiva: } For I:=0 to high(MAS)-1 do For j:=I+1 to high(MAS) do if mas[i].sb>mas[j].sb then begin r:=mas[i]; mas[i]:=mas[j]; mas[j]:=r; end; End; Procedure Poisk(Mas:Tdar; var s:string); Var i:integer; Begin For I:=0 to high(MAS)-1 do if (mas[i].time)<>0 then s:=Mas[i].naz; end; end. Admin: Пользуемся тегами, иначе последуют санкции. Последний раз редактировалось Admin, 30.03.2008 в 15:53. |