Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Linguagem C, Estruturas de dados
04-12-2013, 14:42
Mensagem: #1
Linguagem C, Estruturas de dados
Alguém poderia me ajudar com esse código, ver se minha linha de raciocínio ta certa e verificar se eu poderia ta modificando alguma coisa pra melhorar o código, também verificar porque ta dando erro no void init(Pilha *p){


Escreva uma função que receba uma pilha estática como parâmetro e inverta a ordem dos elementos.


Código:
#include<stdlib.h>
#include<stdio.h>

#define Max 10

struct Pilha{
    int topo;
    int itens[Max];
};

void init(Pilha *p){
    p->topo = -1;
}

int empty(Pilha *p){
    if(p->topo == -1){    
        return 1;
    }else{
        return 0;
    }
}

int stacktopo(Pilha *p){
    if(empty(p)){
        printf("Pilha vazia");
        exit(1);
    }else{
        return p->itens[p->topo];    
    }
}

int pop(Pilha *p){
    if(empty(p)){
        printf("Pilha vazia");
    }else{
        int valor = p->itens[p->topo];
        p->topo--;
        return valor;
    }
}

void push(Pilha *p, int elemento) {
    if (p->topo == (Max-1) ) {
        printf("\n pilha cheia ! \n");
        exit(1);
    } else {
        p->topo++;
        p->itens[p->topo] = elemento;
    }
}
void showStack(Pilha *p){
    int i = p->topo;
    printf("\n Valores da Pilha \n");
    for(;i>=0;i--){
        printf("\n %d",p->itens[i]);
    }
}

main(){
    Pilha pilha;
    init(&pilha);
    int cont = 0;
    int num;
    do{
        printf("Informe  %d: \n",cont+1);
        scanf("%d",&num);
        push(&pilha,num);
        cont++;
    }while(cont < 10);
    
    for(;cont>0;cont--){
        printf("\n Desempilhado %d",pop(&pilha));        
    }
    
    
}
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
04-12-2013, 16:30
Mensagem: #2
RE: Linguagem C, Estruturas de dados
(começo a parecer um disco riscado...) Tongue

E qual é exactamente o erro que dá?

(Por curiosidade, toda a gente desse curso veio aqui parar ou são as sources que são todas iguais, tirando algumas modificações?)

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)