Tecnico En Informatica

Páginas: 5 (1145 palabras) Publicado: 9 de agosto de 2012
EJERCICIO 1
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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Tecnico En Informatica
  • Tecnico Informatico
  • Tecnico en Informatica
  • tecnico en informatica
  • Tecnico En Informatica
  • Tecnico en informatica
  • tecnica en informatica
  • Técnico En Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS