xinaidao 0 Denunciar post Postado Junho 20, 2012 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
_Isis_ 202 Denunciar post Postado Junho 21, 2012 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
xinaidao 0 Denunciar post Postado Junho 21, 2012 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