Pilha estática
Publicado por DEMIS CARLOS FONSECA GOMES 13/06/2004
[ Hits: 11.057 ]
Homepage: www.portonaweb.com
Download Pilha Estática DEMIS CARLOS.cpp
(Pra quem já conhece meus scritps, sao todos feitos em windows, mas com algumas alterações roda muito bem em Linux).
Insere elementos, lista os elementos empilhados, exclui elementos (Pilha estática).
/* Pilha estática,
Por Dêmis Carlos Fonseca Gomes
demiscarlos@hotmail.com
Ciencia da Computacao
2º Periodo
Universidade Federal do Tocantins
Palmas-TO.
*/
#include <stdio.h>
#include <conio.h>
#include <conio.c>
#include <stdlib.h>
#include <ctype.h>
#define MAX_ELEMENTOS 5
//*variaveis globais
int pilha[MAX_ELEMENTOS];
int topo=0;
/*prototipos
============*/
void push(int);
int pop(void);
void inserir(void);
void listar(void);
void remover(void);
/* poe um elemento na pilha*/
void push(int i)
{
if(topo>=MAX_ELEMENTOS)
{
printf("\t\t______________________\n");
printf("\n\n\n\t\t\tPILHA CHEIA\n\n");
printf("\t\t______________________\n");
return;
}
pilha[topo]=i;
topo++;
}
/*recupera o elemento do topo da pilha*/
int pop(void)
{
topo--;
if(topo<0)
{
printf("\t\t______________________\n");
printf("\n\n\n\t\t\tPilha vazia\n\n");
printf("\t\t______________________\n");
topo++;
return -1;
}
return pilha[topo];
}
/*insere um elemeto na pilha*/
void inserir(void)
{
int elemento;
printf("\n\nDigite o elemento a ser inserido na pilha -->> ");
scanf("%d",&elemento);
fflush(stdin);
push(elemento);
}
void remover(void)
{
int aux=pop();
if(aux!=-1)
printf("\n\nElemento removido da pilha: %d",aux);
}
void listar(void)
{
int i;
printf("\n topo(%d)\n",topo);
for(i=topo-1;i>=0;i--)
printf("\n%d) %d ",i,pilha[i]);
}
/*principal
============*/
main()
{
textcolor(17+128);
textbackground(6);
system("cls");
int aux;
char opcao;
int i,quant;
float max,min,*p;
clrscr();
for(aux=0;aux<MAX_ELEMENTOS;aux++)
pilha[aux]=0; /*inicializa a matriz com nulos*/
printf("\n\n\n\n\n\n\t\t\t\tBY DEMIS CARLOS\n\n");
printf("\t\t\tTECLE ENTER PARA CONTINUAR\n\n");
getch();
system("cls");
while(1)
{
printf("\n\n\nO que voce deseja: Inserir(i), Listar(l), Remover(r), Sair(s) --->> ");
opcao=getchar();
fflush(stdin);
opcao=toupper(opcao);
switch(opcao)
{
case 'I':inserir();
break;
case 'L':listar();
break;
case 'R':remover();
break;
case 'S':printf("\n Fim do programa!");
getch();
exit(0);
}
}/*while*/
}
Cálculo da circunferência de um círculo
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Servidor vs Computador Convencional
Como administrar uma rede Linux através da ferramenta Webmin
Como escanear portas de um servidor através da ferramenta Nmap e como alterar a porta do SSH.
Marcando e desmarcando pacotes para atualização, instalação e remoção no Debian e agregados
Is LMS Technology the Key to Solving Brazil’s Online Education Challen... (0)
Audio Failure on Acer Aspire AS4738 – Intel 5 Series HD Audio (Linux M... (0)









