Advertisement
Guest User

Untitled

a guest
May 25th, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define SIZE 10
  5. #define TRUE 1
  6. #define FALSE 0
  7.  
  8. int pilha[SIZE];
  9.  
  10. void empilhar(int vetor[],int tamanho,int informacao){
  11.     int i;
  12.     for (i = 0; i < tamanho; i++){
  13.         if (vetor[i] == 0){
  14.             vetor[i] = informacao;
  15.             break;
  16.         }
  17.     }
  18.    
  19.     if (i == tamanho)
  20.         printf("\n\ncaixa cheia\n\n");
  21. }
  22.  
  23. void listar(int vetor[],int tamanho){
  24.     int i;
  25.     printf("\n\nListando\n\n");
  26.     for(i = tamanho -1; i >= 0; i--){
  27.         if (vetor[i] != 0)
  28.             printf("[%d] -> %d\n",i,vetor[i]);
  29.     }
  30. }
  31.  
  32. void desempilhar(int vetor[],int tamanho){
  33.     int i;
  34.     for(i = tamanho -1; i <= 0; i--){
  35.         vetor[i] = vetor[i + 1];
  36.         break;  
  37.     }
  38.    
  39.     vetor[tamanho - 1] = 0;
  40. }
  41.  
  42. int buscar(int vetor[],int tamanho,int chave){
  43.     int i;
  44.     for (i = tamanho -1; i<= 0; i--){
  45.         if (vetor[i] == chave)
  46.             return i;
  47.     }
  48.     return -1;
  49. }
  50.  
  51. int main(int argc, char** argv) {
  52.    
  53.     int leitura;
  54.    
  55.     while (TRUE){
  56.         scanf("%d",&leitura);
  57.         if (leitura == 0)
  58.             break;
  59.        
  60.         empilhar(pilha,SIZE,leitura);
  61.     }
  62.    
  63.     listar(pilha,SIZE);
  64.    
  65.     desempilhar(pilha,SIZE);
  66.     desempilhar(pilha,SIZE);
  67.     listar(pilha,SIZE);
  68.     int chave;
  69.     scanf("%d",&chave);
  70.    
  71.     int posicao = buscar(pilha,SIZE,chave);
  72.     if (posicao == -1)
  73.         printf("Chave nao encontrada");
  74.     else
  75.         printf("A chave foi encontrada na posicao %d",posicao);
  76.     return (EXIT_SUCCESS);
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement