Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: 01munrra en 23 Junio 2011, 01:11 am



Título: Problemas con imprimir un arbol binario de busqueda junto a una lista simple!!
Publicado por: 01munrra en 23 Junio 2011, 01:11 am
Saludos!!

estoy haciendo un funcion que me imprima un arbol binario  de busqueda usando recursividad junto a una lista simple,,, fijense cada estructura tiene los siguientes datos.

arbolBB tiene los siguientes datos = clave(cedula), total de examenes anormales y total de examenes normales;

listaPaciente tiene los siguientes datos= cedula, nombre,apellidos, edad, estatura, numero de historia

y lo que quiero que esta funcion hage es lo siguiente:

-imprima el primer valor del arbol binario de busqueda, una quiero que agarre el parametro clave que es una cedula de cada paciente y esta cedula lo ubique en una lista de paciente, una ves que lo encuentre, este imprima los datos personales de ese paciente...

y lo que hice fue esto:

Código
  1. void Imprimir_General(arbolbb &arbolBB, ApuntadorBB ap, Lista<Paciente> &listaPaciente)
  2. {
  3. nodo<Paciente> *p;
  4.  
  5. if( arbolBB.Vacio() )
  6.     cout << "Actualmente no hay Resultador procesados...... \n";
  7.  
  8. if( ap != NULL )
  9. {
  10.   p = listaPaciente.ObtPrimero();
  11.  
  12.   if( arbolBB.ObtInfo(ap).Clave == listaPaciente.ObtInfo(p).getCedula() )
  13.   {
  14.     cout << "Nro. Historia: " << listaPaciente.ObtInfo(p).getNro_historia() << "\n";
  15.     cout << "Cedula: "        << listaPaciente.ObtInfo(p).getCedula()       << "\t";
  16.     cout << "Nombre: "        << listaPaciente.ObtInfo(p).getNombre()       <<"\t";
  17.     cout << "Apellido: "      << listaPaciente.ObtInfo(p).getApellido()     << "\t";
  18.     cout << "Peso: "          << listaPaciente.ObtInfo(p).getPeso()         << "\t";
  19.     cout << "Estatura: "      << listaPaciente.ObtInfo(p).getEstatura()     << endl;
  20.  
  21.     cout << "                  Resultados de los Examenes                 " <<endl;
  22.     cout << "Total de Resultados Normales:  " << arbolBB.ObtInfo(ap).Total_resNormales  << endl;
  23.     cout << "Total de Resultados Anormales: " << arbolBB.ObtInfo(ap).Total_resAnormales << endl;
  24.   }
  25.   p = listaPaciente.ObtProx(p);
  26.  
  27.   ApuntadorBB Izq, Der  // creo 2 apuntadores para los nodos del arbol
  28.   Izq = arbolBB.ObtDer(ap);
  29.   Der = arbolBB.ObtIzq(ap);
  30.  
  31.   Imprimir_General(arbolBB,Izq,listaPaciente); // recursividad
  32.   Imprimir_General(arbolBB,Der,listaPaciente); // recursividad
  33. }
  34. }
  35.  

pero resulta ser que no hace nada,,,

me pueden ayudar please!!!!


Título: Re: Problemas con imprimir un arbol binario de busqueda junto a una lista simple!!
Publicado por: BlackZeroX en 23 Junio 2011, 02:24 am
.
Lo unico que se me ocurre es sustituir el metodo:

Código
  1.  
  2. if( arbolBB.Vacio() )
  3.  
  4.  

por un metodo llamado Contar de tal manera hacer un simple for y evitar la recursividad.

por otro lado mas y aun mas importante, No somos adivinos para saber que hace de manera esacta cada miembro de las clases, o como trabajan.

Dulces Lunas!ˇ.