Peça ao usuário para digitar dez valores numéricos e ordene por ordem crescente esses valores, guardando-os num vetor. Ordene o valor assim que ele for digitado. Mostre ao final na tela os valores em ordem.

Passo 1

O enunciado pede para ler dez valores numéricos e ir mantendo eles ordenados em um vetor à medida que cada valor chega. O conteúdo aqui é ordenação incremental (insertion sort), e vamos precisar de um vetor de tamanho 10, loops para leitura e comparação, e operações de deslocamento dos elementos para inserir cada novo valor na posição correta.

Passo 2

Inicializamos um vetor v de 10 posições e uma variável contagem para indicar quantos elementos já estão ordenados. No começo, contagem = 0, pois ainda não lemos nada.

Passo 3

Para cada novo valor x lido do usuário (total de 10 leituras), fazemos o seguinte: definimos j = contagem - 1 (índice do último elemento já ordenado); enquanto j ≥ 0 e v[j] > x, deslocamos v[j] para v[j+1] e decrementamos j. Isso abre espaço para inserir x na posição j+1, mantendo o prefixo v[0…contagem] sempre ordenado. Em seguida, atribuirmos v[j+1] = x e incrementamos contagem em 1.

Passo 4

Depois de processar os dez valores, todos estarão em v[0…9] ordenados em ordem crescente. Basta então percorrer o vetor do início ao fim e imprimir cada elemento na tela.

Resposta

Pseudocódigo da solução:
Inicialize vetor v com tamanho 10
contagem ← 0
Para i de 0 até 9 faça
Leia x do usuário
j ← contagem - 1
Enquanto j ≥ 0 e v[j] > x faça
v[j+1] ← v[j]
j ← j - 1
FimEnquanto
v[j+1] ← x
contagem ← contagem + 1
FimPara
Para k de 0 até 9 faça
Imprima v[k]
FimPara

Exercícios relacionados