Tecnico En Informatica
Usando las operaciones de pilas, realizar lo siguiente:
Poner I (una variable entera) al valor del tercer elemento de la pila, dejando la pila sin cambiar.
#include<stdio.h>
#include<conio.h>
struct tipo_pila
{
int datos[10];
int tope;
};
void inicializar_pila(tipo_pila &pila)
{
pila.tope = -1;
}
void push(tipo_pila &pila, int valor)
{pila.tope++;
pila.datos[pila.tope] = valor;
}
int pop(tipo_pila &pila)
{
int x;
x = pila.datos[pila.tope];
pila.tope--;
return x;
}
int pilavacia (tipo_pila &pila)
{
if ( pila.tope == -1)
return 1;
if (!( pila.tope == -1))
return 0;
}
void main()
{
tipo_pila a;
int x,y,z,i;
int n;
inicializar_pila(a);
for (int b=1;b<=5;b++){
printf ("ingresenumero:");
scanf ("%i", & n);
push (a,n);
}
x = pop (a);
y = pop (a);
z = pop (a);
i = z;
printf ("El valor de i es: %d\n", i);
push (a,z);
push (a,y);
push (a,x);
for (int b=1;b<=5;b++){
printf ("%d\n", pop (a));
}
getch();
}
EJERCICIO 2
Dado un entero N, poner I al N-ésimo elemento de la pila, dejando la pila sin sus N elementossuperiores.
#include<stdio.h>
#include<conio.h>
struct tipo_pila
{
int datos[10];
int tope;
};
void inicializar_pila(tipo_pila &pila)
{
pila.tope = -1;
}
void push(tipo_pila &pila, int valor)
{
pila.tope++;
pila.datos[pila.tope] = valor;
}
int pop(tipo_pila &pila)
{
int x;
x = pila.datos[pila.tope];
pila.tope--;
return x;
}
int pilavacia(tipo_pila &pila)
{
if ( pila.tope == -1)
return 1;
if (!( pila.tope == -1))
return 0;
}
void main()
{
tipo_pila a;
int x,i, ni;
int n, np;
inicializar_pila(a);
printf ("ingrese numero de elemento de pila:");
scanf ("%i", & np);
for (int b=1;b<=np;b++){
printf ("ingrese numero:");
scanf ("%i", & n);
push (a,n);
}
printf ("ingresenumero del 1 al %d:", np);
scanf ("%i", & ni);
for (int b=1;b <= ni;b++){
i = pop (a);
}
printf ("El N-esimo numero es: %d\n", i);
printf ("La pila sin sus elementos superiores es:\n\n");
while (! pilavacia (a)){
printf ("\t\t%d\n", pop (a));
}
getch();
}
EJERCICIO 3
Dado un entero N, poner I como el N-ésimo elemento de la pila, dejando la pila sin cambiar.Use una segunda pila.
#include<stdio.h>
#include<conio.h>
struct tipo_pila
{
int datos[10];
int tope;
};
void inicializar_pila(tipo_pila &pila)
{
pila.tope = -1;
}
void push(tipo_pila &pila, int valor)
{
pila.tope++;
pila.datos[pila.tope] = valor;
}
int pop(tipo_pila &pila)
{
int x;
x = pila.datos[pila.tope];
pila.tope--;
return x;
}int pilavacia (tipo_pila &pila)
{
if ( pila.tope == -1)
return 1;
if (!( pila.tope == -1))
return 0;
}
void main()
{
tipo_pila a;
tipo_pila b;
int x,i, ni;
int n, np;
inicializar_pila(a);
inicializar_pila(b);
printf ("ingrese numero de elemento de pila:");
scanf ("%i", & np);
for (int b=1;b<=np;b++){
printf ("ingrese numero:");
scanf ("%i",& n);
push (a,n);
}
printf ("ingrese numero del 1 al %d:", np);
scanf ("%i", & ni);
for (int z=1;z <= ni;z++){
i = pop (a);
push (b,i);
}
printf ("El N-esimo numero es: %d\n", i);
printf ("Devolvemos valores a la pila:\n\n");
while (! pilavacia (b)){
x = pop (b);
push (a,x);
}
while (! pilavacia (a)){
printf ("%d\n", pop (a));
}getch();
}
EJERCICIO 4
Poner I igual al último elemento de la pila, dejando la pila vacía.
#include<stdio.h>
#include<conio.h>
struct tipo_pila
{
int datos[10];
int tope;
};
void inicializar_pila(tipo_pila &pila)
{
pila.tope = -1;
}
void push(tipo_pila &pila, int valor)
{
pila.tope++;
pila.datos[pila.tope] = valor;
}
int pop(tipo_pila...
Regístrate para leer el documento completo.