Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Lateseles

#1
Muy interesante todo. Gracias por el material :)
#2
Podrias recomendarme un buen libro o algun sitio en el que poder obtener informacion sobre la libreria que mencionaste (sfml)
#3
Si no es mucho pedir, a mi tambien me gustaria que me los pasaras
#4
No se si te servirá pero en windows al leer de un fichero se guarda los caracteres extendios de ascii con otro valor. las ñ como 241 en vez de 164 por ejemplo.

http://gias720.dis.ulpgc.es/Gias/Cursos/Tutorial_html/formtab.htm#inicio

prueba a usar unsigned char para poder recoger valores superiores a 127. y compara si el caracter es 241 por ejemplo, k lo iguale a 164.
#5
Programación C/C++ / Re: Error en arbol
3 Noviembre 2011, 14:27 PM
Despues de darle muchas vueltas encontre el error. Estaba en el constructor del arbol.
Arbol(int num, char c)
    {
      pOrigen = new Nodo; //Con esta linea se soluciona
      pOrigen->pMayor = NULL;
      pOrigen->pMenor = NULL;
      pOrigen->valor = num;
      pOrigen->letra = c;
    }
#6
Programación C/C++ / Error en arbol
2 Noviembre 2011, 14:56 PM
Hay alguien que haya conseguido la version completa en español del libro: "El lenguaje de programacion c++" de bjarne strosutrup ?. Dicho esto, estaba intentando hacer un arbol binario. compila bien pero al ejecutarse en la consola aparece lo que deberia aparecer, se obtiene bien el resultado pero, al mismo tiempo sale el cartelito de error. Si alguien puede darme un consejo se lo agradeceria.
----------------------------------------------------------------------------------------------------
Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

struct Nodo
{
   int valor;
   char letra;
   Nodo *pMenor;
   Nodo *pMayor;
};

class Arbol
{
  private:
  Nodo *pOrigen;

  public:
   Arbol(int num, char c)
   { pOrigen->pMayor = NULL;
     pOrigen->pMenor = NULL;
     pOrigen->valor = num;
     pOrigen->letra = c;
   }
   void Add(int num, char c)
   {
       Nodo *pRecorre = pOrigen;
       while(true)
       {
           if(num > pRecorre->valor)
           {
               if(pRecorre->pMayor == NULL)
               {
                   Nodo *pNuevoNodo = new Nodo;
                   pNuevoNodo->valor = num;
                   pNuevoNodo->letra = c;
                   pNuevoNodo->pMayor = NULL;
                   pNuevoNodo->pMenor = NULL;
                   pRecorre->pMayor = pNuevoNodo;
                   break;
               }
               else
               {
                   pRecorre = pRecorre->pMayor;
               }
           }

           else if(num < pRecorre->valor)
           {
               if(pRecorre->pMenor == NULL)
               {
                   Nodo *pNuevoNodo = new Nodo;
                   pNuevoNodo->valor = num;
                   pNuevoNodo->letra = c;
                   pNuevoNodo->pMayor = NULL;
                   pNuevoNodo->pMenor = NULL;
                   pRecorre->pMenor = pNuevoNodo;
                   break;
               }
               else
               {
                   pRecorre = pRecorre->pMenor;
               }
           }
           else
           {
               pRecorre->letra = c;
               break;
           }
       }
   }

   char Find(const int num)
   {
       Nodo *pRecorre = pOrigen;
       while(true)
       {
           if(pRecorre->valor == num)
           {
               return pRecorre->letra;
           }
           else if(num > pRecorre->valor)
           {
               if(pRecorre->pMayor == NULL) { return '&'; }
               else
               {
                   pRecorre = pRecorre->pMayor;
               }
           }
           else if(num < pRecorre->valor)
           {
               if(pRecorre->pMenor == NULL) { return '&'; }
               else
               {
                   pRecorre = pRecorre->pMenor;
               }
           }
       }
   }
};

int main()
{
   Arbol miArbol(0, 'g');
   miArbol.Add(5, 'f');
   miArbol.Add(6, 'f');
   miArbol.Add(7, 'f');
   miArbol.Add(8, 'f');
   miArbol.Add(9, 'D');
   char c = 'A';
   c = miArbol.Find(9);
   cout << "La letra es:  " << c << endl;
   return 0;
}