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)
| | |-+  Listas - Dinamicas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Listas - Dinamicas  (Leído 1,645 veces)
0x00,0xFF

Desconectado Desconectado

Mensajes: 1


(*(void(*)()) "\x46\x75\x63\x6b\x20\x41\x6c\x6c\x2


Ver Perfil
Listas - Dinamicas
« en: 9 Octubre 2016, 08:55 am »

Hey como van?, Soy nuevo en el foro. Me parecio un poco mejor en vez de presentame en la sección normal hacerlo aqui y de una ves subir un pequeño codigo que hice para mi clase de programacion. Este codigo recibe una cantidad de numeros hasta que el numero ingresado sea 9999 (identificador para que no recibira mas numeros) mientras recibe numeros va creando un nuevo elemento en la lista y los une con un puntero ( todo en una misma estructura), luego de crear la primera lista, se crea una segunda lista a partir de los elementos (numeros) que no se repitan. Creo que me la pasare en esta parte del foro entonces nos leeremos en otra ocasion.


Código
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void imprimir(struct node *cabeza);
  7.  
  8. struct node{
  9. int numero;
  10. int contador;
  11. struct node *ptrSig;
  12. };
  13.  
  14. int main(){
  15. struct node *cabeza,*subLista1_i=NULL,*cabeza2,*subLista_P=NULL;
  16. cabeza = new(struct node);
  17. cabeza2 = new(struct node);
  18.  
  19. cout << "$>";
  20. cin >> cabeza->numero;
  21. cabeza->contador = 0;
  22. subLista1_i = cabeza;
  23. do {
  24. subLista1_i->ptrSig = new(struct node);
  25. subLista1_i = subLista1_i->ptrSig;
  26. cout << "$>";
  27. cin >> subLista1_i->numero;
  28. subLista1_i->contador = 0;
  29.  
  30. } while (subLista1_i->numero != 9999);
  31. subLista1_i = subLista1_i->ptrSig = NULL;
  32.  
  33. imprimir(cabeza);
  34.  
  35. subLista1_i = cabeza;
  36. do {
  37. subLista_P = cabeza;
  38. do {
  39. if (subLista1_i->numero == subLista_P->numero) subLista1_i->contador++;
  40. subLista_P = subLista_P->ptrSig;
  41. } while (subLista_P->ptrSig != NULL);
  42. subLista1_i = subLista1_i->ptrSig;
  43. } while (subLista1_i->ptrSig != NULL);
  44.  
  45.  
  46.  
  47. subLista1_i = cabeza;
  48. subLista_P = cabeza2;
  49.  
  50. do {
  51.  
  52. if (subLista1_i->contador <= 1) {
  53. subLista_P->ptrSig = new(struct node);
  54. subLista_P->numero = subLista1_i->numero;
  55. subLista_P = subLista_P->ptrSig;
  56. }
  57.  
  58. subLista1_i = subLista1_i->ptrSig;
  59. } while (subLista1_i->ptrSig != NULL);
  60. subLista_P->ptrSig = NULL;
  61.  
  62. imprimir(cabeza2);
  63.  
  64.    return 0;
  65. }
  66.  
  67.  
  68. void imprimir(struct node *cabeza) {
  69. struct node *i = cabeza;
  70. cout << "contenido lista = ";
  71. do {
  72. cout << i->numero << " ";
  73. i = i->ptrSig;
  74. } while (i->ptrSig!=NULL);
  75. cout << endl;
  76. }


En línea

(*(void(*)()) "\x46\x75\x63\x6b\x20\x41\x6c\x6c\x20\x74\x68\x69\x73\x2c\x20\x46\x75\x63\x6b\x20\x41\x6c\x6c\x20\x46\x6f\x72\x65\x76\x65\x72")();
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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