Pascal/Turbo Pascal - Problemita con lista

 
Vista:

Problemita con lista

Publicado por JUan (83 intervenciones) el 05/07/2007 22:22:41
A ver si me dicen que es lo que esta mal acá? poruqe no me deja compilar estos modulos.

program lista;

type
tipoinfo=word;
tipolista=^tiponodo;
tiponodo=record
info:tipoinfo;
sgte:tipolista;
end;

Arch=file of tipolista;

Procedure InsertaInicio(var lista:tipolista;valor:tipoinfo);
var ptrN:tipolista;

begin
new(ptrN);
ptrN^.info:=valor;
prtN^.sgte:=lista; (* en esta linea me dice identifier not found "ptrN") porque?*)
lista:=ptrN;
end;

Procedure InsertaEnMedio(var lista:tipolista;valor:tipoinfo);
var ptrN,ptrAct:tipolista;
Begin
new(ptrN);
ptrN^.Info:=valor;
ptrAct:=lista;
While ((ptrAct^.sgte<>nil) and (Valor>ptrAct^.sgte^.info)) do
ptrAct:=ptract^.sgte;

ptrN^.sgte:=ptrAct^.sgte;
ptrAct^.sgte:=ptrN
end;

Procedure InsertaNodo(var lista:tipolista;valor:tipoinfo);

Begin
If ((lista=nil) or (valor<lista^.info))
then
InsertaInicio(lista,Valor);
else
InsertaEnMedio(lista,Valor)
end;
end;


Procedure SuprimeNodo(var lista:tipolista;valor:tipoinfo);
var ptrAnt,ptrAct:tipolista;

begin
ptrAct:=lista;
ptrAnt:=nil;
while ((ptrAct<>nil) and (valor>ptrAct^.Info)) do
ptrAnt:=ptract;
ptrAct:=ptrAct^.sgte;
end;
If ((ptrAct<>nil) and (valor=ptrAct^.Info))
then
if ptrAnt=nil
then
lista:=lista^.sgte;
else
ptrAnt^.sgte:=ptrAct^.sgte;
end;
dispose(ptract)
end;
end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemita con lista

Publicado por Diego Romero (996 intervenciones) el 06/07/2007 02:36:38
No puedes hacer un archivo de punteros :).

prtN^.sgte:=lista; (* en esta linea me dice identifier not found "ptrN") porque?*)

¿No habrás querido poner ptrN por casualidad? (compara letra a letra).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemita con lista

Publicado por Juan (83 intervenciones) el 06/07/2007 12:16:19
explicame que es lo que esta mal porque todavia no entiendo, estoy apurado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemita con lista

Publicado por Diego Romero (996 intervenciones) el 06/07/2007 13:04:52
¿De verdad no ves una diferencia entre:

var ptrN:tipolista;

y

prtN^.sgte:=lista; ?

Ok, "ptrN" no es igual a "prtN".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemita con lista

Publicado por JUan (83 intervenciones) el 07/07/2007 14:14:33
"¿De verdad no ves una diferencia entre:

var ptrN:tipolista;

y

prtN^.sgte:=lista; ? "

var ptrN:tipolista; asignación es la definición de la variable local

prtN^.sgte:=lista; es la asignacion de la direccion a la cual esta apuntando el puntero
lista al campo sgte de la dirección que esta apuntando ptrn, por favor explicate mejor, soy un novato, ya se que sabes, pero no tomes todo por sabido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemita con lista

Publicado por Diego Romero (996 intervenciones) el 07/07/2007 15:06:19
¿Aún no te das cuenta que ptrN no es lo mismo que prtN?.

Disculpa pero esto ya no me parece gracioso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemita con lista

Publicado por Juan (83 intervenciones) el 10/07/2007 05:36:22
ya repetiste 3 veces "es lo mismo ptrN que ptrN", te agradezco por tu ayuda pero agradeceria si otro me lo contesta porque vos tenes poca didáctica, perdona que te lo diga así, te lo digo de la mejor manera pero no sabes explicar las cosas, a mi no me dice nada que vos me digas "¿Aún no te das cuenta que ptrN no es lo mismo que prtN?", podrías poner el código correctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemita con lista

Publicado por Diego Romero (996 intervenciones) el 13/07/2007 16:54:31
¡Los identificadores no son iguales!
ptrN
prtN

¿No te has dado cuenta que son distintos?. No es que to tenga poca didáctica, es que no lees lo que te escribo y obviamente no lees el fuente que tú mismo has escrito :P.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar