#include <stdio.h>int main(int argc, char** argv) { in...

Próximas questões
Com base no mesmo assunto
Q2751186 Arquitetura de Software

#include <stdio.h>


int main(int argc, char** argv) {

int i, j, aux;

int v[] = {10, 8, 6, 4, 2, 9, 7, 5, 3, 1};


for(i = 10 - 1; i >= 1; i--)

for(j = 0; j < i; j++)

if(v[j] > v[j + 1]) {

aux = v[j];

v[j] = v[j + 1];

v[j + 1] = aux;

}


_________ for(i = 0; i < 10; i+)

_______________ printf("%d ", v[i]);


return 0;

}

Considerando o algoritmo acima, implementado na linguagem C, assinale a alternativa correta, quanto à saída produzida do trecho destacado.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: D - 1 2 3 4 5 6 7 8 9 10

Vamos entender detalhadamente o trecho de código apresentado na questão e por que a alternativa correta é a D.

O código em C realiza uma ordenação do vetor utilizando o algoritmo de Bubble Sort. A lógica do algoritmo é a seguinte:

1. Declarações e Inicializações:

int v[] = {10, 8, 6, 4, 2, 9, 7, 5, 3, 1};

O vetor v é inicializado com os valores 10, 8, 6, 4, 2, 9, 7, 5, 3, 1.

2. Processo de Ordenação:

O laço externo percorre o vetor de trás para frente:

for(i = 10 - 1; i >= 1; i--)

O laço interno percorre o vetor do início até o índice i - 1:

for(j = 0; j < i; j++)

Dentro do laço interno, ocorre a comparação e troca dos elementos adjacentes, se estiverem fora de ordem:

if(v[j] > v[j + 1]) {

aux = v[j];

v[j] = v[j + 1];

v[j + 1] = aux;

Este processo continua até que o vetor esteja completamente ordenado. No final do laço, o vetor v estará ordenado em ordem crescente.

3. Impressão do Vetor:

O código que imprime o vetor está incompleto na questão, mas deve ser completado com:

for(i = 0; i < 10; i++)

printf("%d ", v[i]);

Isso garantirá que os valores do vetor sejam impressos na ordem correta após a ordenação.

Justificativa das Alternativas:

A - 1 3 5 7 9 2 4 6 8 10: Incorreta. Esta não é a ordem resultante da execução do algoritmo de Bubble Sort.

B - 10 8 6 4 2 9 7 5 3 1: Incorreta. Esta é a ordem inicial do vetor, que será alterada pelo algoritmo de ordenação.

C - 10 9 8 7 6 5 4 3 2 1: Incorreta. Esta é a ordem inversa da desejada (decrescente), enquanto o algoritmo ordena em ordem crescente.

D - 1 2 3 4 5 6 7 8 9 10: Correta. Esta é a ordem correta após a execução do Bubble Sort, que ordena os elementos do vetor em ordem crescente.

Entender o funcionamento de algoritmos de ordenação, como o Bubble Sort, é fundamental para resolver questões que envolvem manipulação e organização de dados em programação.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo