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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Alguien sabe como poner BORRAR en este programa de DEV-C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alguien sabe como poner BORRAR en este programa de DEV-C++  (Leído 2,054 veces)
Shannon

Desconectado Desconectado

Mensajes: 15


do not die


Ver Perfil WWW
Alguien sabe como poner BORRAR en este programa de DEV-C++
« en: 4 Octubre 2018, 01:20 am »

Código
  1.  
  2.  
  3. #include<stdlib.h>
  4. #include<stdio.h>
  5.  
  6. typedef struct _nodo
  7. {
  8. int valor;
  9. struct _nodo *siguiente;
  10. }tipoNodo;
  11.  
  12. typedef tipoNodo *pNodo;
  13.  
  14. void Anadir (pNodo *primero,pNodo *ultimo,int v)
  15. {
  16. pNodo nuevo;
  17. nuevo=(pNodo) malloc(sizeof(tipoNodo));
  18. nuevo-> valor=v;
  19. nuevo->siguiente=NULL;
  20. if(*ultimo)
  21.     (*ultimo)->siguiente=nuevo;
  22.     *ultimo=nuevo;
  23.     if(!(*primero))
  24.        *primero=nuevo;
  25.  
  26. }
  27.  
  28. int leer(pNodo *primero,pNodo *ultimo)
  29. {
  30. pNodo nodo;
  31. int v;
  32. nodo=*primero;
  33. if(!nodo)
  34. return 0;
  35. *primero=nodo ->siguiente;
  36. v=nodo->valor;
  37. free(nodo);
  38. if(!*primero)
  39. *ultimo=NULL;
  40. return v;
  41. }
  42.  
  43. int main()
  44. {
  45. pNodo primero =NULL,ultimo=NULL;
  46.  
  47.  
  48. Anadir(&primero,&ultimo,10);
  49. printf("Anadir(10)\n");
  50. printf("Leer: %d\n",leer(&primero,&ultimo));
  51. Anadir(&primero,&ultimo,40);
  52. printf("Anadir(40)\n");
  53. Anadir(&primero,&ultimo,30);
  54. printf("Anadir(30)\n");
  55. printf("Leer :%d\n",leer(&primero,&ultimo));
  56. printf("Leer :%d\n",leer(&primero,&ultimo));
  57. Anadir(&primero,&ultimo,90);
  58. printf("Leer :%d\n",leer(&primero,&ultimo));
  59. printf("Leer :%d\n",leer(&primero,&ultimo));
  60.  
  61. system("PAUSE");
  62.  
  63. return 0;
  64.  
  65. }
  66.  
  67.  
  68.  


[MOD] Para publicar código usar las etiquetas GeSHi.


« Última modificación: 4 Octubre 2018, 13:39 pm por simorg » En línea

His name will live, brother
No, I got-, I feel hella shitty because it's like, I '
Like, if I would have known it was so cool
And it's like, I ', if I would have watched interviews sooner, bro', we were so alike
It's unfortunate because it's like, me, when people die, that's when you're there, you know?
'Cause your remorse kinda makes you check' em out
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
« Respuesta #1 en: 4 Octubre 2018, 04:03 am »

Es con delete(nodo);


En línea

7w7
Shannon

Desconectado Desconectado

Mensajes: 15


do not die


Ver Perfil WWW
Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
« Respuesta #2 en: 4 Octubre 2018, 06:40 am »

como pongo el delate nodo?
En línea

His name will live, brother
No, I got-, I feel hella shitty because it's like, I '
Like, if I would have known it was so cool
And it's like, I ', if I would have watched interviews sooner, bro', we were so alike
It's unfortunate because it's like, me, when people die, that's when you're there, you know?
'Cause your remorse kinda makes you check' em out
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
« Respuesta #3 en: 4 Octubre 2018, 07:36 am »

Quieres poner un borrar nodo dentro de tu codigo dices?

Aca tengo unas funciones para desligar un nodo de una lista y devolverlas al programa donde se invoco, si el elemento devuelvo no es nulo entonces simplemente hace un delete(nodo); y ya

Código
  1. pnodo quitar_inicio(pnodo &lista)
  2. {
  3. pnodo borrado;
  4. if(lista==NULL){
  5. borrado=NULL;
  6. }
  7. else{
  8. borrado=lista;
  9. lista=lista->sig;
  10. borrado->sig=NULL;
  11. }
  12. return borrado;
  13. }
  14.  
  15. pnodo quitar_final(pnodo &lista)
  16. {
  17. pnodo borrado, i;
  18. if(lista==NULL){
  19. borrado=NULL;
  20. }
  21. else{
  22. if(lista->sig==NULL){
  23. borrado=lista;
  24. lista=NULL;
  25. }
  26. else{
  27. for(i=lista;(i->sig)->sig!=NULL;i=i->sig);
  28. borrado=i->sig;
  29. i->sig=NULL;
  30. }
  31. }
  32. return borrado;
  33. }
  34.  
  35. pnodo quitar_nodo(pnodo &lista, int valor)
  36. {
  37. pnodo borrado, i;
  38. if(lista==NULL){
  39. borrado=NULL;
  40. }
  41. else{
  42. if(valor==lista->dato){
  43. borrado=lista;
  44. lista=borrado->sig;
  45. borrado->sig=NULL;
  46. }
  47. else{
  48. for(i=lista;i->sig!=NULL && valor!=(i->sig)->dato;i=i->sig);
  49. if(i->sig!=NULL){
  50. borrado=i->sig;
  51. i->sig=borrado->sig;
  52. borrado->sig=NULL;
  53. }
  54. else{
  55. borrado=NULL;
  56. }
  57. }
  58. }
  59. return borrado;
  60. }
En línea

7w7
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Alguien sabe como poner BORRAR en este programa de DEV-C++
« Respuesta #4 en: 4 Octubre 2018, 09:27 am »

Es en C, no C++.
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