I. Vytvorte aplikáciu, v ktorej
1. maticu NxN naplníte náhodne celými číslami
2. vypíšete jej obsah do Mema
3. usporiadate sĺpce v matici podľa hodnoty súčtu prvkov (prvý nech je
stĺpec, v ktorom je súčet prvkov najmenší)
4. obsah matice po usporiadaní vypíšete do Mema
II. V súbore evidujeme mená a výkony skokanov do diaľky. Vytvorte aplikáciu,
ktorá umožní:
a) pridať nový záznam do súboru (napr. že Peter Zabka skočil 8,5 metra)
b) zobraziť záznamy uložené v súbore do Mema - usporiadané abecedne podľa
mena
c) zobraziť záznamy uložené v súbore do Mema - usporiadané podľa výkonu
Pracujte s binárnym súborom s prvkami typu TStudent.
type TStudent = record
meno, priezvisko: string[30];
vykon: real;
end;
k tomu prvému mám niečo, len potrebujem, aby na button2 pridalo daľší záznam, a na button6 tento záznam uložilo k ostatným záznamom v súbore
je to v prílohe
delphi - potrebujem vašu pomoc
Re:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,j,k,l,m:integer;
implementation
{$R *.dfm}
type TStudent = record
meno, priezvisko: string[30];
vykon: real;
end;
var skok:array[1..100] of TStudent;
procedure TForm1.Button1Click(Sender: TObject);
begin
inc(i);
if (edit1.text<>'') and (edit2.text<>'') and (edit3.text<>'')
then
with skok do
begin
meno:=Edit1.Text;
priezvisko:=Edit2.Text;
vykon:=strtofloat(Edit3.Text);
end
else messagebox(0,'Chybny udaj v niektorom policku','error',0);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
for k:=1 to i-1 do
begin
m:=k;
for j:=k+1 to i do
if skok[m].meno>skok[j].meno then m:=j;
if m<>k then begin
skok[100]:=skok[m];
skok[m]:=skok[k];
skok[k]:=skok[100];
end;
end;
memo1.Clear;
for j:=1 to i do
memo1.lines.add(skok[j].meno+' '+skok[j].priezvisko+' '+floattostr(skok[j].vykon));
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
for k:=1 to i-1 do
begin
m:=k;
for j:=k+1 to i do
if skok[m].vykon<skok[j].vykon then m:=j;
if m<>k then begin
skok[100]:=skok[m];
skok[m]:=skok[k];
skok[k]:=skok[100];
end;
end;
memo1.Clear;
for j:=1 to i do
memo1.lines.add(skok[j].meno+' '+skok[j].priezvisko+' '+floattostr(skok[j].vykon));
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,j,k,l,m:integer;
implementation
{$R *.dfm}
type TStudent = record
meno, priezvisko: string[30];
vykon: real;
end;
var skok:array[1..100] of TStudent;
procedure TForm1.Button1Click(Sender: TObject);
begin
inc(i);
if (edit1.text<>'') and (edit2.text<>'') and (edit3.text<>'')
then
with skok do
begin
meno:=Edit1.Text;
priezvisko:=Edit2.Text;
vykon:=strtofloat(Edit3.Text);
end
else messagebox(0,'Chybny udaj v niektorom policku','error',0);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
for k:=1 to i-1 do
begin
m:=k;
for j:=k+1 to i do
if skok[m].meno>skok[j].meno then m:=j;
if m<>k then begin
skok[100]:=skok[m];
skok[m]:=skok[k];
skok[k]:=skok[100];
end;
end;
memo1.Clear;
for j:=1 to i do
memo1.lines.add(skok[j].meno+' '+skok[j].priezvisko+' '+floattostr(skok[j].vykon));
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
for k:=1 to i-1 do
begin
m:=k;
for j:=k+1 to i do
if skok[m].vykon<skok[j].vykon then m:=j;
if m<>k then begin
skok[100]:=skok[m];
skok[m]:=skok[k];
skok[k]:=skok[100];
end;
end;
memo1.Clear;
for j:=1 to i do
memo1.lines.add(skok[j].meno+' '+skok[j].priezvisko+' '+floattostr(skok[j].vykon));
end;
end.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa: