Buscar

Considerando a função "func" a seguir: 01. void func(struct Pilha* p) { 02. assert(p != NULL); 03. struct Pilha* aux = criar(); 04. int x = 0; 05. ...

Considerando a função "func" a seguir:
01. void func(struct Pilha* p) {
02. assert(p != NULL);
03. struct Pilha* aux = criar();
04. int x = 0;
05.
06. while(vazia(p) == false) {
07. empilhar(aux, desempilhar(p));
08. }
09. while(vazia(aux) == false) {
10. int elemento = desempilhar(aux);
11. x += elemento;
12. empilhar(p, elemento);
13. }
14.
15. empilhar(p, x);
16. liberar(aux);
17. }
A função "func" é responsável por somar todos os elementos contidos em uma pilha e, posteriormente, empilhar o resultado nesta pilha. Contudo, para que isso seja feito sem alterar a ordem dos elementos da pilha "p", inicialmente os elementos devem ser inseridos em uma pilha auxiliar "aux" (linhas 6 a 8). Logo após, os elementos são removidos da pilha "aux" e devolvidos para a pilha "p" (linhas 9 a 13). Durante esse processo, os elementos da pilha são somados e o valor da soma é armazenado na variável "x" (linha 11). Por fim, o valor de "x" é empilhado na pilha "p" (linha 15). Dessa forma, o topo sempre conterá a soma de todos os elementos da pilha. Considerando a pilha "p" a seguir, o resultado a ser colocado no topo será 9.
Pilha "p": 4 <- topo
3
0
1
1


a) 4
b) 9
c) 3
d) 0

💡 1 Resposta

User badge image

Ed Verified user icon

A alternativa correta é a letra b) 9. A função "func" soma todos os elementos da pilha "p" e armazena o resultado na variável "x". Em seguida, o valor de "x" é empilhado novamente na pilha "p". Portanto, o topo da pilha "p" será igual a 9.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais