Programação e Desenvolvimento

Projetos, softwares, sites, blogs e trabalhos conforme sua necessidade e com os melhores preços.
Tecnologia do Blogger.

Text Widget

Search (Don't Edit)

Sample Text

Colaboradores

Formulir Kontak

Nome

E-mail *

Mensagem *

Full-Width Version (true/false)

Flickr

Arquivo do blog

Facebook

Translate

Video of the Day

Slider (Add Label Name Here!) (Documentation Required)

Teste Teste Teste

Know us

Teste Teste Teste Teste

Popular Posts

Featured

1 de jul. de 2014

Algoritmo em C - Exemplo de PILHA ESTÁTICA

Algoritmo em C, que representa um Pilha Estática, o algoritmo só cadastra um valor, mostrando o conceito de uma pilha feita em C.

#include <stdio.h>
#define T 5

typedef struct{
        int topo;
        int elementos[T];
}PILHA;

void iniciarPilha(PILHA *p);
int menu();
int overflow(PILHA *p);
int underflow(PILHA *p);
int push(PILHA *P, int *x);
int pop(PILHA *p);
void imprimir(PILHA *p);

int main(){
    PILHA pil;
    int opc, novo;
 
    iniciarPilha(&pil);
 
    do{
        opc = menu();
     
        switch(opc){
            case 1:
               
                 if(!overflow(&pil)){
                     printf("informe um novo valor: ");
                     scanf("%d", &novo);
                   
                     printf("valor %d inserido!\n", push(&pil, &novo));
                   
                 }else
                     printf("Pilha cheia!\n");
                   
                 getche();
                 system("cls");
            break;          
            case 2:
               
                 if(!underflow(&pil))
                     imprimir(&pil);
                 else
                     printf("pilha vazia!\n");
                   
                 getch();
                 system("cls");
            break;
            case 3:
               
                 if(!underflow(&pil))
                     printf("valor %d removido!\n", pop(&pil));
                   
                 else
                     printf("Pilha vazia!\n");
                   
                 getche();
                 system("cls");
            break;
            case 0: break;
            default: printf("opcao %d incorreta!\n",opc);
        }
    }while(opc != 0);
}
void iniciarPilha(PILHA *p){
     p->topo = -1;
}

int menu(){
    int opc;
 
    printf("1-inserir elemento\n"
           "2-Imprimir pilha\n"
           "3-remover elemento\n"
           "0-sair\n");
    scanf("%d", &opc);
    return opc;
}

int overflow(PILHA *p){
    return p->topo == T -1;
}

int underflow(PILHA *p){
    return p->topo == -1;
}

int push(PILHA *p, int *x){
    p->topo++;
    p->elementos[p->topo] = *x;
 
    return p->elementos[p->topo];
}

int pop(PILHA *p){
    int ult;
    ult = p->elementos[p->topo];
    p->topo--;
 
    return ult;
}

void imprimir(PILHA *p){
     int aux;
   
     for(aux = p->topo; aux >= 0; aux--)
         printf("elemento[%d] = %d\n", aux+1, p->elementos[aux]);
}

Trabalhos.:
E-mail: mvf5system@gmail.com
Blog: http://mvf5-system.blogspot.com.br/
Facebook: https://www.facebook.com/mvf5systems



0 comentários:

Postar um comentário

Postagem em destaque

MVF5 System - SOLUÇÕES EM TI!

          Desenvolvimento de projetos, softwares, sites, blogs e trabalhos conforme sua necessidade e com os melhores preços. Entre em c...

Seguidores

Total de visualizações

Postagens populares