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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Sumar cuantos números impares hay en la lista con apuntadores
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sumar cuantos números impares hay en la lista con apuntadores  (Leído 1,614 veces)
Pako

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Sumar cuantos números impares hay en la lista con apuntadores
« en: 30 Junio 2017, 04:39 am »

Tengo este problema estuve haciendo este código en c++ con punteros pero me trabe al momento de llamar el total de números impares espero y me puedan ayudar aquí les dejo el código

En contraimpares tengo el error no me da el total de los números impares que tengo

Código
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. struct nodo
  7. {
  8. int num;
  9. nodo *siguiente;
  10. };
  11.  
  12. typedef nodo *LISTA;
  13. LISTA n = NULL;
  14.  
  15. void insertar(LISTA &puntero, int numero)
  16. {
  17. LISTA puntero1,puntero2;
  18. puntero1 = puntero;
  19. if (puntero1==NULL)
  20. {
  21. puntero1 = new nodo;
  22. puntero1->num = numero;
  23. puntero1->siguiente=NULL;
  24. puntero = puntero1;
  25. }
  26. else
  27. {
  28. while (puntero1->siguiente!=NULL)
  29. {
  30. puntero1 = puntero1->siguiente;
  31. }
  32. puntero2 = new nodo;
  33. puntero2->num = numero;
  34. puntero2->siguiente = NULL;
  35. puntero1->siguiente = puntero2;
  36. }
  37. }
  38.  
  39. void mostrar_lista(LISTA puntero)
  40. {
  41.  
  42. if (puntero == NULL)
  43. {
  44. cout << "La lista esta vacia";
  45. }
  46.  
  47. while (puntero!=NULL)
  48. {
  49. cout << puntero->num << endl;
  50. puntero = puntero->siguiente;
  51. }
  52. }
  53.  
  54. // aqui ya no pude solucionarlo
  55.  
  56. int contraimpares(LISTA &puntero)
  57. {
  58. int suma=0;
  59.  
  60. if (puntero == NULL)
  61. {
  62. cout << "La lista esta vacia";
  63. }
  64. while (puntero->num % 2 != 0)
  65. {
  66. puntero = puntero->siguiente;
  67. suma++;
  68. }
  69.  
  70. return suma;
  71. }
  72.  
  73. void main()
  74. {
  75. int num_elem,numero,i;
  76.  
  77. cout << "Dame el numero de elementos de la lista" << endl;
  78. cin >> num_elem;
  79.  
  80. for (i = 0; i < num_elem; i++)
  81. {
  82. cout << "Dame el numero: " << endl;
  83. cin >> numero;
  84. insertar(n,numero);
  85. }
  86. cout << "Lista capturada" << endl;
  87. mostrar_lista(n);
  88. cout << "Los numeros impares en la lista son: " << contraimpares(n) << endl;
  89. system("pause");
  90. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 30 Junio 2017, 04:48 am por engel lex » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines