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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con metodo de lista
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con metodo de lista  (Leído 2,206 veces)
karmi

Desconectado Desconectado

Mensajes: 21



Ver Perfil
problema con metodo de lista
« en: 19 Noviembre 2010, 02:45 am »

hola tengo un problema, lo que pasa es que hice una lista en visual c++, el punto es que quiero contar cuales son los numeros negativos, el programa me corre, pero no me dice cuantos son negativos, espero me ayuden, le pongo el metodo aver si estoy bien...

Código
  1. int negativos()
  2.  
  3. {
  4. int z;
  5. Nodo *recorrer;
  6. recorrer = inicio;
  7.  
  8. if (recorrer!=NULL)
  9. {
  10. do
  11. {
  12. if(recorrer->dato < 0)
  13. {
  14. z=z+1;
  15. recorrer = recorrer->sig;
  16. }
  17.  
  18. else
  19. recorrer = recorrer->sig;
  20. }
  21. while(recorrer->sig!=NULL);
  22. if(recorrer->dato < 0)
  23. z=z+1;
  24. cout<<z;
  25. }
  26. else
  27. {
  28. cout << "lista vacia" << endl;
  29. }
  30. return z;
  31.  
  32. }


« Última modificación: 19 Noviembre 2010, 18:35 pm por Littlehorse » En línea

JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: problema con metodo de lista
« Respuesta #1 en: 19 Noviembre 2010, 13:12 pm »

Ok, antes que nada trata de poner el código en color (submenú GeSHi, acá arriba). :)

No se si usas clases (si usas, no tengo idea de POO), pero ¿qué intentas hacer con "recorrer->dato < 0" ?

Intenta:
Código
  1. recorrer > dato && dato < 0


En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: problema con metodo de lista
« Respuesta #2 en: 19 Noviembre 2010, 14:31 pm »

Juszr, "recorrer" es el típico puntero auxiliar a un nodo de la lista para recorrerla.

Karmi, tu código queda un tanto confuso de leer, y no estoy del todo seguro que realice su función. El código podría simplificarse, debido a que con tantas condiciones anidadas, algunas de ellas refiriéndose a lo mismo, es difícil hacer una traza.

Por otro lado, en caso de que tu lista esté vacía, z se devuelve sin inicializar --> mal asunto.

Te propongo el siguiente código:

Código
  1. int negativos(){
  2.    int z=0;
  3.    Nodo *recorrer;
  4.    recorrer = inicio;
  5.    if(recorrer==NULL)
  6.        return -1 //si la lista esta vacia, devolvemos -1, por ejemplo. Esta linea y la superior se pueden omitir.
  7.    while (recorrer){ //esto es lo mismo que recorrer!= NULL
  8.        if(recorrer->dato < 0)
  9.            z++;
  10.        recorrer=recorrer->sig;
  11.    }
  12.    return z;
  13. }
  14.  

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con funcion, Metodo de seleccion
Programación C/C++
krowa 7 4,003 Último mensaje 24 Octubre 2011, 19:54 pm
por krowa
Problema al mostrar return de metodo
Java
;c1v!c 3 2,489 Último mensaje 13 Diciembre 2012, 19:14 pm
por sapito169
problema con lista indexada
Programación C/C++
m@o_614 8 3,040 Último mensaje 8 Enero 2014, 19:11 pm
por m@o_614
problema con una lista
Programación C/C++
m@o_614 1 1,323 Último mensaje 2 Mayo 2014, 06:11 am
por rir3760
Problema con el metodo BubbleSort « 1 2 »
Programación C/C++
Jesusinfo 17 5,907 Último mensaje 13 Octubre 2016, 01:56 am
por Jesusinfo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines