[ Foro de Pascal ]
Hola!
Estoy trabajando un proyecto en el cual debo crear las opciones descritas en el siguiente menú:
Logre inicializar correctamente el árbol, sin embargo al agregar el procedimiento crear nodo se incorporo la variable x de tipo:tipo_etiq la cual tome de un TDA dado por el profesor para manipula los arboles.
El problema es que en la declaración del Type etiq: tipo_etiq; me da error de identifier not found, alguien me puede decir que esta mal?
Type
ABB = ^Nodo;
Nodo = record
etiq: tipo_etiq;
izq, der: ABB;
end;
-----------------------------------------------------------------------------------------------------------------------
Program Arboles ;
uses crt ;
Type
ABB = ^Nodo;
Nodo = record
etiq: tipo_etiq;
izq, der: ABB;
end;
procedure Inicializa (var A: ABB);
begin
A:= nil;
end;
procedure CrearNodo (x: tipo_etiq; var A: ABB);
begin
if A = nil then
begin
new(A);
A^.etiq:= x;
A^.izq:= nil;
A^.der:= nil;
end
else
if x < A^.etiq then
INSERTA(x, A^.izq)
else
if x > A^.etiq then
INSERTA(x, A^.der);
end;
Procedure Menu;
var
opt:char;
A: ABB;
begin
opt:='0';
while opt <> '10' do
begin
clrscr;
writeln (' --------- MENU DE OPCIONES PARA ARBOLES ---------- ') ;
writeln(' ----DIGITE LA OPCION QUE DESEA EJECUTAR---- ') ;
writeln (' 1. Inicializar arbol Binario ') ;
writeln (' 2. Crear nodo en arbol ') ;
writeln (' 3. Buscar y modificar nodo ');
writeln (' 4. Borrar Nodo ');
writeln (' 5. Buscar Minimo en arbol ');
writeln (' 6. Buscar Maximo en arbol ');
writeln (' 7. Imprimir en Post orden ');
writeln (' 8. Imprimir en preorden ');
writeln (' 9. Imprimir Simetrico ');
writeln(' 10. Salir del menu ');
readln(opt);
case (opt) of
'1':
begin
Inicializa (A);
writeln('Arbol de busqueda ha sido inicializado');
readkey;
end;
end;
end;
end;
begin
menu();
end.
Te falta declarar ese "tipo_etiq", que indique como son los datos que hay en cada nodo
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)