Ir para conteúdo

POWERED BY:

Arquivado

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

Aprendiz de programação

[Resolvido] Ordenar vetor e acrescentar mais 10 elementos na orde

Recommended Posts

Como inserir mais dez elementos em um vetor já com 20 elementos ordenados e ao fim mostrar 30 el. ordenados?

No visualg, tenho que inserir 20 elementos e ordenar no vetor(já fiz) o problema está em como inserir mais dez e mostrar os 30 elementos em ordem, abaixo o código , se alguém puder ajudar.

algoritmo "ex.8,pag40,ordenar vetor con inserção de valores"

var
a:vetor[1..30]de inteiro
i,iprox,aux,j,imenor,imaior:inteiro
inicio
Para i de 1 ate 20 faca
Escreva("Digite o elemento ",i," do vetor:")
leia(a[i])
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])entao
imenor:=j
fimse
fimpara
aux:=a[imenor]
a[imenor]:=a[iprox]
a[iprox]:=aux
iprox:=iprox+1
fimpara //termina ordenação aqui.
Para i de 1 ate 10 faca
Escreva("Digite o elemento ",i," do vetor:")
leia(aux)
Fimpara
para i de 1 ate 30 faca
para j de iprox+1 ate 30 faca
imaior:=a[30-1]
se(a[j]>aux)entao
interrompa
imaior:=a[j]

fimse
aux:=imaior

iprox:=aux
iprox:=iprox+1
a[imenor]:=aux
a[i]:=imaior+iprox

fimpara

fimpara


para i de 1 ate 30 faca



Escreva(a[i],",")

fimpara



fimalgoritmo
* 5 horas atrás

* - 4 dias restante(s) para responder.

 

Detalhes Adicionais

ele tem que colocar tudo na sequencia ex: primeiros 20 elementos vetor 1,2,5,7,........

 

os proximos 10 elementos 3,6,4....

 

apresentar o resultante 1,2,3,5,6,7

 

Se me ajudar ficarei muito grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo assim, crie uma função q ordene fica melhor ai você fará algo assim:

Função Ordena ..
.
.
Fim_Função

Inicio
//leia os 20 valores
Ordena(vetor);
//ai mostra na tela
//depois le os outros 10 valores ai
Ordena(vetor);
//mostra na tela

tendeu?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Favor marcar como resolvida, entendi a resposta do e é a solucção ideal para o problema, porém quando fiz a pergunta ainda não estavamos estudando matriz, o professor queria do jeito mais dificil mesmo.vou colocar a solucção apresentada por ele, caso não puder postar assim, favor apagar.

algoritmo "pa40_ord_vetor"

var
a:vetor[1..30]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[i])
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])entao
         imenor:=j
      fimse
   fimpara
   aux:=a[imenor]
   a[imenor]:=a[iprox]
   a[iprox]:=aux
   iprox:=iprox+1
fimpara
{ termina primeira ordenação}

para i de 1 ate 10 faca
   Escreva("Digite o elemento",i," valor a inserir:")
   leia(aux)

   Para j de 1 ate 31 faca
     se ((a[31-j]< aux) e (a[31-j]>0)) entao
       a[32-j]:=aux
      interrompa
       
     senao
       a[31-j]:=a[30-j]

     fimse
   fimpara
fimpara
para i de 1 ate 30 faca
  Escreva(a[i], "-")
fimpara

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.