Pascal/Turbo Pascal - lista sencilla

 
Vista:

lista sencilla

Publicado por micky (1 intervención) el 04/06/2010 00:57:27
Enunciado
Completar la función pmaximo para que devuelva la dirección de memoria del elemento que almacene el valor mayor en el campo dato de una lista dinámica simple a cuyo primer elemento apunta la variable puntero p. En el caso de que la lista esté vacía debe devolverse el valor nil.
Nota: si dos o más elementos contienen el mismo valor maximo, entonces la función debe devolver la dirección del memoria del primero de ellos que se encuentre en la lista.

type ptr=^elemento;
elemento=record
dato:integer;
sig:ptr
end;

Function pmaximo (p:ptr): ptr;
var aux:ptr;
max:integer

BEGIN

-------------(Aqui comienza la zona que debo rellenar, lo anterior es fijo e inamovible)--------

If p=nil then pmaximo:=nil else
BEGIN
max:=p^.dato;
aux:=p;
While p<>nil do
BEGIN
p:=p^.sig;
if p^.dato>max then
BEGIN
max:=p^.dato;
aux:=p;
end;
end;
end;
pmaximo:=aux;

-----------------------------------------------

END;

compila pero la solucion no es correcta, hay algun pequeño error sospecho pero no lo localizo.

Un Saludo
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