PDA

Ver la Versión Completa : insertar datos sin repeticion


baby
16-05-2007, 00:30:35
hola a todos
los compañeros del foro haber si me podeis pistar un poko yake me voy a volver loco con la insercion de los datos en un array sin repeticon lo unico ke hago antes de meter el dato es recorrer el array y preguntar si el dato existe o no pero al ejecutarlo nome hace caso
haber si me podeis guiar un poko por fa please :mad:
gracias de antemano

Caral
16-05-2007, 00:50:36
Hola Baby
El problema es que el array no te entiende, si lo estas escribiendo como tu pregunta?, verdad que cuesta entenderse?.
Te aconsejo dos cosas.
1- Pon tu pregunta clara.
2- Pon el codigo que estas usando para ver de que se trata, al aire es muy dificil entender la pregunta.
Saludos

baby
16-05-2007, 01:24:30
gracias caral por tu aclaracion
esta es la codificacion k tengo hecha
var
Form1: TForm1;
x:string;
a:array[0..4] of integer;
i,cont:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
b,j,f1:integer;
begin
b:=StrToInt(Edit1.Text);
f1:=0;
if cont<5 then
begin
for j:=0 to 4 do
begin
if a[j]=b then
f1:=1;
end;
if f1=0 then
begin
a[i]:=b;
inc(cont);
inc(i);
x:=x + IntToStr(b)+' ';
end;
end;
if cont=5 then
Label1.Caption:=x;
Edit1.Text:='';
Edit1.SetFocus;

end;
haber si me aclaro voy insertando numeros hasta llegar el max tamano del array y luego en una etiqueta se muestra los datos de este ultimo sin que aparezcan datos repetidos (desgraciadamente no me lo hace :( )
gracias
:)

egostar
16-05-2007, 01:32:03
Pues ya he probado tu código, meto los siguientes números

1, 2, 2, 3, 4, 4, 5

y me muestra el label

1 2 3 4 5

A mi me parece que está funcionando bien.

Salud OS.

egostar
16-05-2007, 01:35:44
Solo quiero comentarte que encierres tu código con etiquetas para que se pueda leer correctamente, te invito a que leas nuestra guia de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) y la otra guia de estilos (http://www.clubdelphi.com/foros/showpost.php?p=112824&postcount=6).

Aquí pego como se vería si las usaras.


procedure TForm1.BitBtn2Click(Sender: TObject);
var
b,j,f1:integer;
begin
b:=StrToInt(Edit1.Text);
f1:=0;
if cont<5 then begin
for j:=0 to 4 do begin
if a[j]=b then f1:=1;
end;
if f1=0 then begin
a[i]:=b;
inc(cont);
inc(i);
x:=x + IntToStr(b)+' ';
end;
end;
if cont=5 then
Label1.Caption:=x;
Edit1.Text:='';
Edit1.SetFocus;
end;



Salud OS.

baby
16-05-2007, 01:37:28
gracias egostar
por tu respuesta pero no te ocurre otra solucion para eso a lo mejor es fallo del compilador no se porque io











recordar nuestros origines nos ayuda a no olvidar quien somos