Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xinaidao

Manipular dados de pilha

Recommended Posts

Boa tarde.

Estou com um trabalho de faculdade e não estou conseguindo fazer uma parte. Gostaria da opinião de vcs..

 

Enunciado: Toda vez que uma caixa(somente de 3, 5 ou 7 toneladas) chega no depósito é empilhada na pilha A. Mas,

caixas maiores não podem ir sobre menores.Se isso ocorrer caixas de peso=3 vao para pilhaB e caixas de 5 toneladas vão para a pilhaC. Depois voltam ordenadas para a pilhaA... parece simples.

 

criei a pilhaA e está tudo certo nela, está imprimindo tudo certinho.

segue o que eu fiz:

obrigado desde já

 

 

#include <stdio.h>

 

//variavel global

int pilha[10], pilhaB[10], pilhaC[10], topoA=-1;

 

 

 

void main(void){

 

int carga, x=0, limite=10;

 

while(carga!=0){

printf("\nEmpilhar 3, 5 ou 7 toneladas. 0 encerra programa");

scanf("%d", &carga);

 

 

if ( topoA < limite){ //verifica se o topo eh menor que o limite

topoA = topoA+1;

pilha[topoA]=carga;

for(x=topoA; x>=0; x--) { //ira emprimir o vetor com esta...

printf("%d\n", pilha[x]);

} //fim for

getch();

} //fim if

if(carga!=3 || topoA!=3) //se carga=3 ou pilha[topoA]=3 basta adicionar a caixas na pilha senão tenho que chamar a funçao de ordenamento das caixas

{

//aqui eu chamo a função de ordenamento das caixas caso topo e carga sejam diferentes de 3

 

}

}

 

 

 

int pop(void){ //ordenamento

 

int y=0;

 

for(y=topoA; y>=0; y--){

 

if(pilha[topoA]==3) // se topo =3 entao pilhab recebe o valor

pilhaB[y] = pilha[y];

pilha[topoA] = '\0';

topoA--;

 

if(pilha[topoA]==5)

pilhaC[y] = pilha[y];

pilha[topoA] = '\0';

topoA--;

}

 

 

return®;

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode simplesmente ordenar o array ou usar dois arrays p/ fazer a cópia das caixas e sobrescrever o primeiro array.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema eh que a professora quer que eu passe para a pilhab e pilhac se cargas forem 3 ou 5 respectivamente. e dps passar para a pilhaA(que vai ter caixas de 7 toneladas)+pilhac(5 ton)+pilhac(3 ton)... dai vai ficar ordenado.

 

me deem uma luz pessoal, de passar para as outras pilhas. tentei de tudo e nada funciona.

obrigado. boa tarde a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.