[ Foro de Pascal ]

TDA de arboles

21-Apr-2019 05:50
Glice Gallardo
1 Respuestas

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.


21-Apr-2019 09:36
Nacho Cabanes (+40)

Te falta declarar ese "tipo_etiq", que indique como son los datos que hay en cada nodo






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...