Pilha estática
Publicado por DEMIS CARLOS FONSECA GOMES 13/06/2004
[ Hits: 10.817 ]
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*/ }
Bhaskara - Cálculo de raízes de equações do segundo grau
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (3)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)