Logo Passei Direto
Buscar
Enade Ciência da Computação (2017) - O algoritmo a seguir trabalha com um vetor global v de números inteiros e rearranja esse vetor de tal forma que seus elementos, ao final, estejam ordenados de forma crescente. Note que n é uma variável global que determina o tamanho do vetor.
Considerando que nesse algoritmo há erros de lógica que devem ser corrigidos para que os elementos sejam ordenados de forma crescente, assinale a opção correta no que se refere às correções adequadas.
A linha 04 deve ser corrigida da seguinte forma: for ( i = 1; i < n -1; i++) e a linha 07, do seguinte modo: j = i + 1;
A linha 10 deve ser corrigida da seguinte forma: v [ j + 1 ] = v [ j ]; e a linha 13, do seguinte modo: v [ j – 1 ] = chave; .
A linha 07 deve ser corrigida da seguinte forma: j = i + 1 e a linha 08, do seguinte modo: while (j >= 0 && v[ j ] > chave).
A linha 08 deve ser corrigida da seguinte forma: while ( j >= 0 && v [ j ] > chave) e a linha 10, do seguinte modo: v [ j + 1 ] = v [ j ]; .
A linha 04 deve ser corrigida da seguinte forma: for (i = 1; i < n – 1; i++) e a linha 13, do seguinte modo: v[j – 1] = chave;
User badge image
Questões Para a Compreensão

há 9 meses

Respostas

User badge image

Ed Verified user icon

há 9 meses

Para corrigir o algoritmo que ordena o vetor global `v` de números inteiros, a opção correta é: A linha 08 deve ser corrigida da seguinte forma: while (j >= 0 && v[j] > chave) e a linha 10, do seguinte modo: v[j + 1] = v[j]; Essa correção garante que o algoritmo funcione corretamente para ordenar o vetor de forma crescente, utilizando o método de inserção.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Analise o programa em C abaixo e marque a alternativa CORRETA a respeito de sua funcionalidade. #include #include int main() { int valores[5][5],i,j; for (i=0;i<5;i++) { for (j=0;j<5;j++) { valores[i][j] = (i+1)*(j+1); } } for (i=0;i<5;i++) { for (j=i;j<5;j++) { valores[i][j] = 0; } } }

A) Este programa insere valores na matriz e depois zera todos os valores inseridos, para isso o programa utiliza dois laços de repetição e duas variáveis auxiliares, i e j.
B) Este programa declara uma matriz quadrada de ordem 5 e duas variáveis auxiliares para laço de repetição. Ele inicializa os valores da matriz utilizando operações com os valores das próprias variáveis auxiliares dos laços e após a inicialização transforma a matriz em uma pseudo matriz triangular inferior, colocando 0 (zero) em sua diagonal principal e em todos os elementos acima desta.
C) Este programa não faz absolutamente nada, pois tem um erro que impede a sua execução.
D) Este programa declara uma matriz de tamanho 5x5 e duas variáveis auxiliares para laço de repetição. Ele inicializa os valores da matriz utilizando as variáveis i e j dos laços e após a inicialização transforma a matriz em uma matriz triangular superior, colocando 0 (zero) em todos os elementos abaixo da diagonal principal.
E) Este programa trabalha com duas matrizes para inserir valores baseados na utilização de i e j dentro do programa com a finalidade de explorar ao máximo a otimização da utilização de matrizes com laços de repetição, pois este é o objetivo de ser utilizar tal estrutura.

Mais conteúdos dessa disciplina