elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda Acerca De Listas y Listas Circulares (Revienta Memoria :S)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Acerca De Listas y Listas Circulares (Revienta Memoria :S)  (Leído 5,148 veces)
Gerik

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Ayuda Acerca De Listas y Listas Circulares (Revienta Memoria :S)
« en: 12 Septiembre 2010, 01:49 am »

Tengo Un Problema al intentar Extraer un numero de la lista, me revienta memoria, alguien podria decirme por que es :S le he dado vueltas y nada
Código
  1. # include <conio>
  2. # include <iostream>
  3. # include <stdlib>
  4. # define cant 4
  5.  
  6. class nodo
  7.     {public:
  8.      int info;
  9.      nodo *sig;
  10.      nodo(int a)
  11.          {info=a;
  12.           sig=NULL;}
  13.      };
  14. class listac
  15.     {public:
  16.      nodo *cab;
  17.      listac(){cab=NULL;}
  18.      void insertar(int a);
  19.      void mostrar();
  20.      bool buscar(int a);
  21.      void extraer(int a);
  22.      };
  23.  
  24. int main()
  25.    {int a=0;
  26.     listac obj;
  27.     for(int i=1;i<=cant+1;i++)
  28.         {cout<<"Digite El Elemento "<<i<<" De La Lista: ";
  29.          cin>>a;
  30.          cout<<endl;
  31.          obj.insertar(a);}
  32.     obj.mostrar();
  33.     cout<<"Digite El Numero a Buscar: ";
  34.     cin>>a;
  35.     if(obj.buscar(a)==true)
  36.        cout<<"El Numero Buscado Existe En La Lista";
  37.     else
  38.        cout<<"El Numero Buscado No Existe En La Lista";
  39.     cout<<"Digite El Numero a Extraer De La Lista: ";
  40.     cin>>a;
  41.     obj.extraer(a);
  42.     obj.mostrar();
  43.     getch();
  44.     return 0;
  45.    }
  46.  
  47. void listac::insertar(int a)
  48.    {nodo *nuevo=new nodo(a);
  49.     if(!cab)
  50.        {nuevo->sig=nuevo;
  51.         cab=nuevo;}
  52.        else
  53.        {nuevo->sig=cab->sig;
  54.         cab->sig=nuevo;}
  55.    }//cierro Insertar
  56. void listac::mostrar()
  57.    {nodo *p=cab;
  58.     do{p=p->sig;
  59.        cout<<p->info<<" ";}
  60.     while(p!=cab);
  61.    }
  62. bool listac::buscar(int a)
  63.   {nodo *p=cab;
  64.    do{p=p->sig;
  65.       if(p->info==a)
  66.          {return true;}}
  67.       while (p!=cab);
  68.       return false;}
  69. void listac::extraer(int a)
  70.     {nodo*p=cab;
  71.      do{p=p->sig;
  72.         if(p->info=a)
  73.            {while(cab->sig!=p)
  74.                  {cab=cab->sig;
  75.                   cab->sig=p->sig;
  76.                   delete p;
  77.                   break;}//cierro while
  78.            }//cierro if
  79.        }//cierro do
  80.        while (p!=cab);
  81.     }
  82.  
  83.  


« Última modificación: 12 Septiembre 2010, 02:40 am por Gerik » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Listas y Sublistas..Ayuda!!
Programación C/C++
willy1855 2 5,954 Último mensaje 9 Mayo 2012, 16:40 pm
por durasno
Ayuda con Formularios con listas Dobles
PHP
larezaka 0 1,633 Último mensaje 7 Octubre 2012, 16:52 pm
por larezaka
Algortimos de euclides usando listas circulares
Programación C/C++
imperio7 3 1,921 Último mensaje 22 Septiembre 2013, 08:53 am
por eferion
Pequeña duda sobre listas circulares simples
Programación C/C++
Beginner Web 0 1,566 Último mensaje 3 Septiembre 2018, 21:26 pm
por Beginner Web
Una pregunta acerca de mostrar listas circulares
Programación C/C++
Beginner Web 1 3,607 Último mensaje 13 Septiembre 2018, 16:58 pm
por jca1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines