Pilha estática
Publicado por DEMIS CARLOS FONSECA GOMES 13/06/2004
[ Hits: 10.845 ]
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*/ }
Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (0)
O que você está ouvindo agora? [2] (189)
warsaw parou de funcionar após atualização do sistema (solução) (10)