Autor
|
Tema: Duda con programa de Pilas (Leído 3,378 veces)
|
Emily
Desconectado
Mensajes: 18
|
Tengo este avance de mi programa#include<stdio.h> #include<stdlib.h> #include<conio.h> typedef struct _Nodo{ int dato; struct _Nodo *sig; }Nodo; Nodo *reservarmemoria(int dato){ Nodo *espacio; espacio = (Nodo *) malloc(sizeof(Nodo )); if(espacio != NULL){ }else{ espacio -> dato = dato; espacio -> sig = NULL; return espacio; } } Nodo *alta(int dato, Nodo *cima){ Nodo *box; box = reservarmemoria(dato); if (cima != NULL){ box -> sig = cima; } return box; } Nodo *baja (Nodo *cima){ Nodo *aux; if (cima != NULL){ aux = cima; cima = aux -> sig; } return cima; } void mostrar (Nodo *cima){ if (cima == NULL){ }else{ while (cima != NULL){ printf ("Elemento %d\n", cima -> dato ); cima = cima -> sig; } } } void tamano (Nodo *cima){ int i=0; if (cima == NULL){ }else{ while (cima != NULL){ cima = cima -> sig; i++; } printf ("El tamaño es: %d\n", i ); } } int main(){ int op,dato; printf ("1.-Dar de alta un Nodo\n2.-Dar de baja un Nodo\n3.-Mostrar todos los Nodos\n4.-Mostrar el tamaño\n5.-Salir\n"); do{ switch (op){ case 1: printf ("Alta\nIntrodusca el numero a guardar en el nodo\n"); alta(dato,); break; case 2: baja(cima); break; case 3: mostrar(cima); break; } }while(op !=5); return 0; }
Se que tengo que insertar una nueva estructura en el main que va a ser la que mande a cima pero no se de que manera hacerlo me preguntaba si alguien podría asesorarme
|
|
|
En línea
|
|
|
|
K-YreX
|
Se que tengo que insertar una nueva estructura en el main que va a ser la que mande a cima No sé a qué te refieres con esto. Si puedes explicarte un poco...
|
|
|
En línea
|
cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
|
|
|
Emily
Desconectado
Mensajes: 18
|
Ya logre resolver mi duda con el programa si a alguien le sirve el codigo, aqui lo dejo#include <stdio.h> #include <stdlib.h> #include <conio.h> typedef struct Nodo { int Dato; struct Nodo *sig; }Nodo; Nodo *Crear (int); Nodo *Alta (int, Nodo *top); Nodo *Baja (Nodo *top); void Mostrar(Nodo *top); void Contar (Nodo *top); int main(){ struct Nodo *Pila; Pila=NULL; int Op=1,dato,o,size; do { printf ("¿Que desea hacer?\n1:Añadir valor\n2:Mostrar valores\n3:Eliminar nodo\n4:Contar nodos\n5:Salir\n"); switch (Op){ case 1: printf ("\n\tIngrese el valor:"); Pila=Alta(dato,Pila); break; case 2: Mostrar(Pila); break; case 3: Pila=Baja(Pila); break; case 4: Contar(Pila); break; case 5: break; default : printf( "\nOpcion incorrecta.\n" ); } }while (Op!=5); } Nodo *Crear (int dato){ Nodo *espacio; espacio =(Nodo *)malloc(sizeof(Nodo )); espacio->Dato=dato; espacio->sig=NULL; return espacio; } Nodo *Alta (int dato,Nodo *top) { Nodo *box; box=Crear(dato); if (top==NULL){ top=box; } else { box->sig=top; top=box; } return top; } Nodo *Baja (Nodo* top){ Nodo *aux; if (top==NULL) { return 0; } else { aux=top; top=aux->sig; return top; } } void Mostrar (Nodo *top){ if(top==NULL) { printf ("\nNo hay ningun dato\n"); } else { while (top!=NULL) { printf ("\n| %d |\n ___ ",top ->Dato ); top=top->sig; } } } void Contar (Nodo *top){ int Cont=0; if(top==NULL) { } else { while (top!=NULL) { Cont=Cont+1; top=top->sig; } printf("El tamaño es: %d\n",Cont ); } }
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
duda con pilas
Programación Visual Basic
|
Mr pom0
|
3
|
1,645
|
23 Mayo 2008, 19:41 pm
por cobein
|
|
|
duda pilas
Programación C/C++
|
nevfuck
|
1
|
2,073
|
18 Octubre 2010, 05:13 am
por Gerik
|
|
|
Aplicacion de Consola C# - Programa Pilas
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Castiel
|
10
|
16,645
|
3 Agosto 2016, 05:58 am
por El Benjo
|
|
|
Programa de archivos y pilas
Programación C/C++
|
celest275
|
1
|
2,092
|
10 Abril 2018, 22:44 pm
por Kenji-chan
|
|
|
Ayuda con programa en C de Pilas
Programación C/C++
|
Emily
|
3
|
3,091
|
3 Febrero 2019, 09:08 am
por Emily
|
|