Pilas (usando funciones y procedimientos )
Publicado por Gaston (40 intervenciones) el 14/11/2020 00:17:37
Hola gente,
Estoy intentando resolver el siguiente ejercicio de Pilas en lenguaje.
Estos puntos son los que me falta. Quién pueda darme una ayuda !!!
c) Luego intentar eliminar el tope de la pila, mostrar su contenido. ?
d) Luego intentar eliminar la base de la pila, mostrar su contenido. ?
e) Finalmente mostrar cuantos elementos quedaron en la pila. Esto último hacerlo con una función. ?
/********************************************************************************************************************
Ejercicio 7 Pilas.
Armar un programa usando los procedimientos y funciones definidas, que lea varios numeros
(con cualquier criterio). intente insertarlos en una pila que comenzará vacía.
a) Se deben descartar los que hagan desbordar la pila.
b) Luego mostrar su contenido. Usar un procedimiento.
c) Luego intentar eliminar el tope de la pila, mostrar su contenido.
d) Luego intentar eliminar la base de la pila, mostrar su contenido.
e) Finalmente mostrar cuantos elementos quedaron en la pila. Esto último hacerlo con una función.
*********************************************************************************************************************/
Este es codigo en lenguaje C
la compilación:
Ingrese el maximo contenido de la pila: 5
Ingrese un numero para la pila: 2
Ingrese un numero para la pila: 4
Ingrese un numero para la pila: 6
Ingrese un numero para la pila: 2
Ingrese un numero para la pila: 3
Ingrese un numero para la pila: 8
Generaria Desborde.
Ingrese un numero para la pila: 2
Generaria Desborde.
Ingrese un numero para la pila: 6
Generaria Desborde.
Ingrese un numero para la pila: 3
Generaria Desborde.
Ingrese un numero para la pila: 0
3
2
6
4
2
Presione una tecla para continuar . . .
Estoy intentando resolver el siguiente ejercicio de Pilas en lenguaje.
Estos puntos son los que me falta. Quién pueda darme una ayuda !!!
c) Luego intentar eliminar el tope de la pila, mostrar su contenido. ?
d) Luego intentar eliminar la base de la pila, mostrar su contenido. ?
e) Finalmente mostrar cuantos elementos quedaron en la pila. Esto último hacerlo con una función. ?
/********************************************************************************************************************
Ejercicio 7 Pilas.
Armar un programa usando los procedimientos y funciones definidas, que lea varios numeros
(con cualquier criterio). intente insertarlos en una pila que comenzará vacía.
a) Se deben descartar los que hagan desbordar la pila.
b) Luego mostrar su contenido. Usar un procedimiento.
c) Luego intentar eliminar el tope de la pila, mostrar su contenido.
d) Luego intentar eliminar la base de la pila, mostrar su contenido.
e) Finalmente mostrar cuantos elementos quedaron en la pila. Esto último hacerlo con una función.
*********************************************************************************************************************/
Este es codigo en lenguaje C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
//-------------------------------------------
struct pila
{
int num;
struct pila *sig;
};
//--------------------------------------------
int MAXPILA;
void sacar_pila(struct pila *&pil, int &n)
{
struct pila *p;
n=pil->num;
p=pil;
pil=pil->sig;
delete(p);
}
void insertar_pila(struct pila *&pil, int n)
{
struct pila *nuevo;
nuevo=new struct pila;
nuevo->num= n;
nuevo->sig= pil;
pil =nuevo;
}
bool pila_llena(struct pila *pil)
{
int cont;
struct pila *p; p=pil;
cont=0;
while(p!=NULL)
{
cont++;
p=p->sig;
}
if(cont==MAXPILA)
return true;
else
return false;
}
bool pila_vacia(struct pila *pil)
{
if(pil==NULL)
return true;
else
return false;
}
void crear_pila(struct pila *&pil)
{
pil=NULL;
}
void mostrar_base(struct pila *pil)
{
}
void mostrar_tope(struct pila *pil)
{
}
void pausar()
{
printf("\n");
system("PAUSE");
};
//------------------------------------------------
int main()
{
//declaro las dos variable de tipo puntero;
struct pila *a;
struct pila *b;
int n;
printf("\n Ingrese el maximo contenido de la pila: ");
scanf("%d", &MAXPILA);
crear_pila(a);
printf("\n Ingrese un numero para la pila: ");
scanf("%d", &n);
while(n!=0)
{
if (pila_llena(a) ==false)
insertar_pila(a,n);
else
printf("\n Generaria Desborde. ");
printf("\n Ingrese un numero para la pila: ");
scanf("%d", &n);
}
crear_pila(b);
while(pila_vacia(a)==false)
{
sacar_pila(a,n);
printf("\n %d ", n);
insertar_pila(b,n);
}
while(pila_vacia(b)==false)
{
sacar_pila(b,n);
insertar_pila(a,n);
}
pausar();
return 0;
}
//--------------------------------------------------------------------------------
la compilación:
Ingrese el maximo contenido de la pila: 5
Ingrese un numero para la pila: 2
Ingrese un numero para la pila: 4
Ingrese un numero para la pila: 6
Ingrese un numero para la pila: 2
Ingrese un numero para la pila: 3
Ingrese un numero para la pila: 8
Generaria Desborde.
Ingrese un numero para la pila: 2
Generaria Desborde.
Ingrese un numero para la pila: 6
Generaria Desborde.
Ingrese un numero para la pila: 3
Generaria Desborde.
Ingrese un numero para la pila: 0
3
2
6
4
2
Presione una tecla para continuar . . .
Valora esta pregunta


0