Ir para conteúdo

Arquivado

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

Imguvoss

Estrutura de repetição com vetores

Recommended Posts

Algoritmo "Obter notas e apresentar em ordem crescente"
Var

   aNotas: VETOR[1..50] DE INTEIRO
   I, J, Y, L, K, nNumero: INTEIRO

Inicio

   Escreva("Digite o número de notas que você deseja ordenar: ")
   Leia(nNumero)

   Para I De 1 Ate nNumero Passo 1 Faca
      Escreva("Digite a", I,"° nota: ")
      Leia(aNotas[I])
   Fimpara

   Para K De 1 Ate I-1 Faca
      Para J De 1 Ate nNumero Faca
         Se aNotas[J] > aNotas[J+1] Entao
            Y <- aNotas[J]
            aNotas[J] <- aNotas[J+1]
            aNotas[J+1] <- Y
         Fimse
      Fimpara
   Fimpara

   Para L De 1 Ate J Faca
      Escreval(aNotas[L])
   Fimpara

Fimalgoritmo

Olá pessoal,

Eu preciso fazer um algoritmo no VisualG que leia um determinado número de notas e as organize-as de forma crescente, eu consegui elaborar o algoritmo, mais, no resultado ele aparece um 0, sendo que eu não digitei nenhum 0.

Exemplo:

Digitei: 9

10

2

 

No resultado aparece: 0

2

9

10

 

O algoritmo está acima, obrigado.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

KhaosDoctor, verifiquei a possibilidade mais quando o "+1" é retirado, o resultado aparece em ordem decrescente, ainda com o "0" no resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acredito que ele está criando um indice a mais no vetor quando você utiliza J+1

 

Vendo o post do KhaosDoctor, cheguei a seguinte conclusão.

 

São 3 notas: A, B e C. Devem ser feitas 2 comparações, entre A e B, depois entre B e C.

 

Entendeu a lógica?

 

 

Edição:

 

Faz os testes aqui:

   Para K De 1 Ate I-1 Faca
      Para J De 1 Ate nNumero Faca
         Se aNotas[J] > aNotas[J+1] Entao
            Y <- aNotas[J]
            aNotas[J] <- aNotas[J+1]
            aNotas[J+1] <- Y
         Fimse
      Fimpara
   Fimpara

Compartilhar este post


Link para o post
Compartilhar em outros sites

Podem marcar como resolvido.

O problema estava na linha:

Para J De 1 Ate nNumero Faca

É preciso alterar para:

Para J De 1 Ate nNumero-1 Faca

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por alexdyna
      Prezados,
      Amigos tenho que fazer um trabalho da faculdade onde o professor me da um arquivo que vou colocar anexo e tenho que fazer um algoritmo que leia o arquivo e monte uma tabela com as informações.
      pelo que vejo ele tem na primeira linha 8 barra e nas demais linha 10 barras
      ate a ultima que seria sua parada onde temos 2 barras seguidas.
       
      ficaria muito grato com a ajuda de todos.
       
      No arquivo anexo esta o texto:
      Nome/telefone/nascimento/Horas Curso/vendas T1/vendas T2/vendas T3/vendas T4/
       Luiz Ranza Neo/99934-5255/05/12/1989/200/107099,072578621/76915,8996218681/100922,271239691/76372,9971916498/
      Richard de Barrissaia/99326-4689/18/03/1990/150/55123,0080621828/68062,2200055909/67233,9928593779/45236,5928531083/
      Rodrigo Abalâminos/99911-7413/09/08/1987/168/71697,3866071191/58063,5644108225/88183,6230762134/48160,3116315664/
      José Gigfrid/99658-7874/15/04/1997/135/48816,199086596/50086,3689415844/52916,3066872779/55232,0663463164/
      Luiza Celly Silva/99659-1214/01/02/2000/90/29208,8223591438/39361,8088384592/45062,056112236/38913,7237126574/
      Maria Kunlun/99686-7845/21/04/1984/182/92076,1053757689/80440,5339844205/87575,0546657182/79220,9398178354/
      //
       
    • Por thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

    • Por Geralt96
      Bom dia. Alguém pode me dá uma ajuda pra desenvolver essa questão, por gentileza?

      Aqui está ela: https://projecteuler.net/problem=6

      A soma dos quadrados dos primeiros dez números naturais é: 1² + 2² + ... 10² = 385...
      O quadrado da soma dos dez primeiros números naturais é: (1+2+ ... 10)² = 55² = 3025...
      Portanto, a diferença entre a soma dos quadrados dos primeiros dez números naturais e o quadrado da soma é: 3025 - 385 = 2640.
      Encontre a diferença entre a soma dos quadrados dos primeiros cem números naturais e o quadrado da soma.
    • Por cerejafalante
      Olá pessoal, estou com uma lista de exercício de funções para fazer no visualg mas não sei por onde começar, alguém pode me ajudar fazendo esse exercício? ai eu pego ele de exemplo e faço os outros, obrigada
       
      o exercício é 
      Escreva um programa que calcula área de figuras: quadrado, retângulo, triângulo e círculo. O usuário informa qual forma deseja calcular a área, informa os parâmetros necessários e a área da forma é calculada em uma função. 
    • Por cerejafalante
      Pessoal tenho que fazer um algoritmo de função no visualg de uma calculadora. Eu fiz o algoritmo mas não sei como fazer função, alguém me ajudaaa
      o código está aqui, tem que por em função, obrigada
       
      Var
      n1,n2,r:real
      operacao:inteiro
      inicio
      repita
      escreval ("1. Multiplicação ")
      escreval ("2. Divisão ")
      escreval ("3. Subtração ")
      escreval ("4. Soma ")
      escreval ("5. Sair ")
      leia (operacao)
      se ( operacao = 5 ) entao
      fimalgoritmo
      fimse
      limpatela
      escreva ("Diga o primeiro numero: ")
      leia ( n1 )
      ate ( operacao >= 1 ) e ( operacao <= 5 )
      se ( operacao <= 4 ) e ( operacao >= 1 ) entao
      escreva ("Diga o segundo numero: ")
      leia (n2)
      fimse
      escolha operacao
      caso 1
      r <- n1*n2
      caso 2
      r <- n1/n2
      caso 3
      r <- n1-n2
      caso 4
      r <- n1+n2
      outrocaso
      escreva ("escolha incorreta")
      fimescolha
      escreval ("O resultado é: ", r)
      escreval ("")
      ate ( operacao = 5 )
      fimalgoritmo
×

Informação importante

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