#include <stdio.h>int main(int argc, char** argv) { in...
#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.
- Gabarito Comentado (1)
- Aulas (1)
- Comentários (0)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
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