baby
07-05-2007, 19:16:56
muy buenas a todos
soy novato en eso de delphi y queria hacer un programa que me ordena un array(p.e de 5 elementos) mediante el metodo de la bubuja pero al compilarlo me da error que no se localizarlo haber por favor si me podeis hechar la mano
esta es la codificacion que hice
var
Form1 : TForm1;
vector:array[1..5]of integer;
i,cont:integer;
implementation
procedure ordenar;
var
ord :string;
k,l,j,tmp:integer;
begin
ord:=' ';
for l:=1 to 5 do
for j:=1 to 4 do
begin
if (vector[j+1]<vector[j])then
begin
tmp:=vector[j+1];
vector[j+1]:=vector[j];
vector[j]:=tmp;
end;
end;
for k:=1 to 5 do
ord:=ord+' '+inttostr(vector[k]);
Form1.lblordenado.caption:='los datos del array ordenado sera '+ord;
end;
procedure mostrar;
var
s :string;
l :integer;
begin
s:=' ';
for l:=1 to 5 do
s:=s+' '+inttostr(vector[l]);
Form1.lblsinorde.Caption:='los datos del array son : '+s;
end;
{$R *.dfm}
procedure TForm1.BBTclClick(Sender: TObject);
begin
close;
end;
procedure TForm1.bbtacepClick(Sender: TObject);
var
n:integer;
begin
i:=i+1; // el indice k me lleva la cuenta de los datos en el array
n:=strtoint(Edtnum.Text);
cont:=cont+1; // contador de los datos
if (cont=6)then
mostrar // llamo al procedimiento mostrar
else
vector[i]:=n;
Edtnum.Clear;
Edtnum.SetFocus;
end;
procedure TForm1.btnorClick(Sender: TObject);
begin
ordenar;
end;
end.
gracias de antemano :(
disculparme compadres si existe la solucion en otro sitio :rolleyes: :o
saludos cordiales
soy novato en eso de delphi y queria hacer un programa que me ordena un array(p.e de 5 elementos) mediante el metodo de la bubuja pero al compilarlo me da error que no se localizarlo haber por favor si me podeis hechar la mano
esta es la codificacion que hice
var
Form1 : TForm1;
vector:array[1..5]of integer;
i,cont:integer;
implementation
procedure ordenar;
var
ord :string;
k,l,j,tmp:integer;
begin
ord:=' ';
for l:=1 to 5 do
for j:=1 to 4 do
begin
if (vector[j+1]<vector[j])then
begin
tmp:=vector[j+1];
vector[j+1]:=vector[j];
vector[j]:=tmp;
end;
end;
for k:=1 to 5 do
ord:=ord+' '+inttostr(vector[k]);
Form1.lblordenado.caption:='los datos del array ordenado sera '+ord;
end;
procedure mostrar;
var
s :string;
l :integer;
begin
s:=' ';
for l:=1 to 5 do
s:=s+' '+inttostr(vector[l]);
Form1.lblsinorde.Caption:='los datos del array son : '+s;
end;
{$R *.dfm}
procedure TForm1.BBTclClick(Sender: TObject);
begin
close;
end;
procedure TForm1.bbtacepClick(Sender: TObject);
var
n:integer;
begin
i:=i+1; // el indice k me lleva la cuenta de los datos en el array
n:=strtoint(Edtnum.Text);
cont:=cont+1; // contador de los datos
if (cont=6)then
mostrar // llamo al procedimiento mostrar
else
vector[i]:=n;
Edtnum.Clear;
Edtnum.SetFocus;
end;
procedure TForm1.btnorClick(Sender: TObject);
begin
ordenar;
end;
end.
gracias de antemano :(
disculparme compadres si existe la solucion en otro sitio :rolleyes: :o
saludos cordiales