Ir ao conteúdo

vetor em ordem crescente


Rafaelzz

Posts recomendados

Postado

olá, estou precisando de ajuda com o seguinte problema:

Dado um vetor que armazene 7 valores numéricos inteiros, fazer um algoritmo que peça a digitação dos valores, classifique o vetor em ordem crescente e depois exiba os valores classificados.

queria que alguém postasse a resolução em visualg

var

vet: vetor[1..7] de inteiro

ind: inteiro

inicio

para ind de 1 ate 7 passo 1 faca

escreva ("Informe ", ind,"º número: ")

leia (vet[ind])

fimpara

depois disso, não sei mais o que fazer...

Postado

Bom, Rafaelzz, depois que você ler todos os elementos do seu vetor, você deve aplicar algum algoritmo de ordenação em cima dele.

Há vários (vários mesmo!) algoritmos de ordenação disponíveis para ordenar um vetor.

você pode tentar implementar o BubbleSort (Bubble Sort) ou o Insertion Sort (Insertion Sort), que são relativamente simples.

Nas páginas deles na Wikpedia você encontra as implementações deles em várias linguagens (mas não tem em Visualg).

O importante mesmo é você entender como funciona o algoritmo. Esse é o objetivo do exercício.

Conseguindo isso, a implementação fica bem mais fácil.

Postado

Não sei explicar direito,mas tenho um exemplo com u vetor de 20 elementos veja se te ajuda.

algoritmo "pa40_ord_vetor"

var

a:vetor[1..20]de inteiro

i,iprox,aux,j,imenor:inteiro

inicio

Para i de 1 ate 20 faca

Escreva("Digite o elemento ",i," do vetor:")

leia(a)

fimpara

iprox:=1

para i de 1 ate 19 faca

imenor:=iprox

para j de iprox+1 ate 20 faca

se (a[j]< a[imenor])então

imenor:=j

fimse

fimpara

aux:=a[imenor]

a[imenor]:=a[iprox]

a[iprox]:=aux

iprox:=iprox+1

fimpara

Escreval("Numeros ordenados:")

para i de 1 ate 20 faca

escreva(a,",")

fimpara

fimalgoritmo

Postado

muito obrigado pela ajuda vocês 2

eu consegui fazer um junto com um colega, ficou bem maior e cansativo

mas deu certo

var

vet: vetor[1..7] de inteiro

ind: inteiro

x: inteiro

inicio

para ind de 1 ate 7 faca

escreva("Informe o ", ind,"º numero: ")

leia(vet[ind])

fimpara

para ind de 1 ate 7 faca

se (vet[1]>vet[ind]) então

x <- vet[1]

vet[1]<- vet[ind]

vet[ind]<- x

fimse

fimpara

para ind de 3 ate 7 faca

se (vet[2]>vet[ind]) então

x <- vet[2]

vet[2]<- vet[ind]

vet[ind]<- x

fimse

fimpara

para ind de 4 ate 7 faca

se (vet[3]>vet[ind]) então

x <- vet[3]

vet[3]<- vet[ind]

vet[ind]<- x

fimse

fimpara

para ind de 5 ate 7 faca

se (vet[4]>vet[ind]) então

x <- vet[4]

vet[4]<- vet[ind]

vet[ind]<- x

fimse

fimpara

para ind de 6 ate 7 faca

se (vet[5]>vet[ind]) então

x <- vet[5]

vet[5]<- vet[ind]

vet[ind]<- x

fimse

fimpara

se (vet[6]>vet[7]) então

x <- vet[6]

vet[6]<- vet[7]

vet[7]<- x

fimse

escreval("ORDEM CRESCENTE: ")

para ind de 1 ate 7 faca

escreval (vet[ind])

fimpara

fimalgoritmo

obrigado por atender meu problema

parabéns ao forum que sempre ajuda quando precisamos :)

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...