• Jueves 14 de Noviembre de 2024, 23:12

Mostrar Mensajes

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


Mensajes - yuikoheartless

Páginas: [1]
1
C/C++ / Re: lista circular simple :3
« en: Martes 21 de Junio de 2011, 05:02 »
Profesor X, muchas gracias por el codigo ^^
lo extraño es que lo compile y ejecute, y hace lo mismo que el mio, solo muestra el 1 y el ultimo elemento ingresado  :comp:
saludos y grax ^^

2
C/C++ / lista circular simple :3
« en: Lunes 20 de Junio de 2011, 05:35 »
Hola a todos, bueno he leido el foro y me gustado bastante, este semestre estoy aprendiendo c++ y tengo que hacer una lista en c++ con punteros,la funcion de ingreso esta lista, tengo el algoritmo  de eliminacion pero aun no implementado y mi problema esta en la funcion mostrar (imprimir el contenido de la lista) segun mi logica deberia recorrer el puntero y mostrar el contenido hasta que llegue al ultimo pero bueno mi logica falla a veces  :P

  • en mi DA deje una imagen con la logica de los punteros aux y recorre, pero aun no puedo dejar enlaces
  • http//yuikoheartless.deviantart.com/gallery/#/d3jdlha


aqui el codigo :

Código: C++
  1.  
  2. #include <cstdlib>
  3. #include <iostream>
  4. //LISTA CIRCULAR
  5. using namespace std;
  6. struct listac{
  7.    int valor;
  8.    listac *sgte;
  9. };
  10.  
  11. bool vacia(listac *inicio){
  12.    bool v=false;
  13.    if(inicio==NULL)
  14.       v=true;
  15.    return v;
  16. }
  17.  
  18. void ingresar(listac *&inicio,listac *&ultimo){
  19.    cout<<"Ingrese un numero: ";
  20.    int numero;
  21.    listac *p;
  22.    p = new listac;
  23.    cin>>p->valor;  
  24.    cout<<endl;
  25.    if(vacia(inicio)==true){
  26.       inicio=p;
  27.       ultimo=p; }
  28.    else{
  29.        inicio->sgte=p;
  30.        p->sgte=inicio;
  31.        ultimo=p;
  32.    }
  33. }
  34.    
  35. void mostrar(listac *inicio,listac *ultimo){
  36.      listac *recorre , *aux;
  37.      recorre =  inicio;
  38.      aux = recorre->sgte;    
  39.      if(aux->sgte != inicio){
  40.           aux = recorre->sgte;
  41.           cout<<recorre->valor<<" ";
  42.           recorre=aux;
  43.      }
  44.  
  45. }  
  46.  
  47.  
  48. int main(int argc, char *argv[])
  49. {
  50.     listac *inicio,*ultimo;
  51.     inicio=ultimo=NULL;
  52.     for(int i=1;i<=5;i++){
  53.     ingresar(inicio,ultimo);}
  54.     mostrar(inicio,ultimo);
  55.     system("PAUSE");
  56.     return EXIT_SUCCESS;
  57. }
  58.  
  59.  
  60.  


Desde entonces muchas gracias

Páginas: [1]