Pilha estática
Publicado por DEMIS CARLOS FONSECA GOMES 13/06/2004
[ Hits: 10.675 ]
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*/ }
A máquina nao perdoa (jogo da velha em c -arquivo correto, agora)
Realizando exponenciação interativa
Verificando se um número é primo.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (1)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (3)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta