Ir para conteúdo
Fórum Script Brasil

Eurico Pelepka

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Eurico Pelepka

Eurico Pelepka's Achievements

0

Reputação

  1. Opa Alguém poderia me ajudar, já estou a um bom tempo tentando resolver mas consigo de maneira nenhuma, alguém DA UMA LUZ. Preencher os espaços em branco conforme indicado no comentário (// ... )para o programa principal e um função para resolver o seguinte problema: Dada um a pilha já com 4 elementos classificados em ordem crescente à partir do TOPO, completar as instruções do programa obter os seguintes resultados: 1. Listar a pilha original, como ela está; 2. Listar os elementos de um dado vetor de 4 elementos não classificados; 3. Ler o vetor e empilhar os seus quatro elementos na pilha, sendo que cada elemento deve ser colocado na pilha de maneira a não alterar a ordem de classificação crescente. 4. Usar uma função à parte, para incluir cada elemento do vetor, com as seguintes funcionalidades: a. Utilizar uma pilha auxiliar para armazenar os elementos da pilha original para manter a classificação. b. Para cada elemento do vetor colocá-lo na ordem correta na pilha. c. Restaurar a pilha original no final da função. 5. Listar a pilha atualizada. OBS: O resultado deve sair neste formato: Pilha Original. Pilha[9] = 0 Pilha[8] = 0 Pilha[7] = 0 Pilha[6] = 0 Pilha[5] = 0 Pilha[4] = 0 Pilha[3] = 5 <-- TOPO Pilha[2] = 7 Pilha[1] = 12 Pilha[0] = 15 Vetor para empilhar. 3 13 8 2 Atualizando a Pilha ... Pilha Atualizada. Pilha[9] = 0 Pilha[8] = 0 Pilha[7] = 2 <-- TOPO Pilha[6] = 3 Pilha[5] = 5 Pilha[4] = 7 Pilha[3] = 8 Pilha[2] = 12 Pilha[1] = 13 Pilha[0] = 15 Fim do Programa. Programa Principal #include <stdio.h> #define TAM 10 void empilharNaOrdem(int [], int*, int); int main() { int pilha[TAM] = {15, 12, 7, 5, 0, 0, 0, 0, 0, 0}; int vetor[4] = {3, 13, 8, 2}; int topo = __________, i = 0; // ... valor do topo /* Listar a pilha original*/ printf("Pilha Original.\n"); for (i = _______; i ______; i____) {// ...elementos do comando for para ler pilha printf("Pilha[_____] = _____ ", _____, _________); // ...para imprimir a pilha if (______________) // ... identificação do topo printf("<-- TOPO\n"); else printf("\n"); } //Listar vetor printf("\nVetor para empilhar.\n"); for (i = _____; i______; i____) { // ... elementos do comando for para ler o vetor printf(" _________ ", _____________); // ... imprimir o vetor } /* Empilhar 4 numeros em ordem crescente a partir do topo */ printf("\n\nAtualizando a Pilha ...\n\n"); for (i = ____; i _____; i____) { // ... elementos do comando for para ler o vetor empilharNaOrdem(_______, _________, _________); // ...parâmetros da chamada da // ...função } /* Listar a pilha atualizada*/ printf("\nPilha Atualizada.\n"); for (i = ________; i _______; i_____) { // ... elementos do comando for para ler // ... a pilha atualizada printf("Pilha[______] = _______ ", ______, _______); // ... para imprimir a // ... a pilha if (____________) // ... identificação do topo printf("<-- TOPO\n"); else printf("\n"); } printf("\nFim do Programa.\n"); getchar(); return 0; } Função para empilhar os elementos do vetor em ordem crescente. void empilharNaOrdem(int pilha[], int* topo, int n) { int pilhaAux[TAM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int topoAux = ____________; // ... valor do topoAux while (*topo ________ ________) { if(n <= ____________) { // ... testar elemento do vetor com o topo da pilha *topo = ________________; // ... atualizar o topo da pilha pilha[__________] = _________; // ... colocar o elemento do vetor na // ...pilha original ___________; // ... sair do while } else { topoAux__________; //... atualizar o topo da pilha auxiliar pilhaAux[_________] = pilha[________]; // ... colocar elemento da pilha[______] = _______; // ... pilha na pilha auxiliar *topo = *topo ________; // ... atualizar o topo da pilha } } if (*topo ___________) { // ... verificar se pilha original ficou vazia *topo = ____________; // ... atualizar o topo da pilha pilha[____________] = _______; // ... colocar elemento do vetor na pilha } if (topoAux ___________) // ... verificar se a pilha auxiliar está vazia return; while (topoAux _________) { // ... testar se há elementos na pilha auxiliar *topo = ________________; // ... atualizar o topo da pilha original pilha[_______] = pilhaAux[___________]; // ... colocar elemento da pilha // ... auxiliar na pilha original topoAux__________; // ... atualizar o topo da pilha auxiliar } return; }
×
×
  • Criar Novo...