Jump to content

Problema no VisualG


Ir para a Solução Solucionado por ThiagoAlves,

Postagens Recomendadas

Sou estudande de programação e estou com um problema, caso alguém possa me dar uma luz, agradeço desde já.
O problema é que no código abaixo está dando erro de sintaxe na linha 27 "se vet[cont1] < vet[cont2] entao"

Já tentei colocar parenteses, colocar espaços, tirar os espaços e mesmo assim não consegui rodar

 

algoritmo "semnome"
var

vet:vetor[0..9] de inteiro
ale,op,cont1,cont2,troca:inteiro

inicio

para cont1 de 0 ate 9 faca
     op <- randi(2)
        escolha op
                caso 0
                     ale <- randi(30) * -1
             caso 1
                     ale <- randi(100)
        fimescolha
     vet[cont1] <- ale
fimpara

escreval("Os números gerados são esses abaixo!")
para cont1 de 0 ate 9 faca
     escreval(vet[cont1])
fimpara

para cont1 de 0 ate 9 faca
     para cont2 de cont1+1 ate 10 faca
          se vet[cont1] < vet[cont2] entao
             troca <- vet[cont2]
             vet[cont2] <- vet[cont1]
             vet[cont1] <- troca
          fimse
     fimpara
fimpara

escreval("A ordem descrescente é:")
para cont1 de 0 ate 9 faca
     escreval(vet[cont1])
fimpara

fimalgoritmo

Link to comment
Compartilhe em outros sites

  • Solução

Olá tudo bem?

Fiz algumas correções de endentações no seu código e corrigi a linha que estava: 

"para cont1 de 0 ate 9 faca
     para cont2 de cont1+1 ate 10 faca"
 

deixei:

"para cont1 de 0 ate 9 faca
      para cont2 de cont1+1 ate 9 faca"

Assim ele não vai quebrar a iteração dos seus vetores.
Segue o exemplo corrigido:

 

algoritmo "semnome"
var
   vet: vetor[0..9] de inteiro
   ale, op, cont1, cont2, troca: inteiro

inicio
   para cont1 de 0 ate 9 faca
      op <- randi(2)
      escolha op
         caso 0
            ale <- randi(30) * -1
         caso 1
            ale <- randi(100)
      fimescolha
      vet[cont1] <- ale
   fimpara

   escreval("Os números gerados são esses abaixo!")
   para cont1 de 0 ate 9 faca
      escreval(vet[cont1])
   fimpara

   para cont1 de 0 ate 9 faca
      para cont2 de cont1+1 ate 9 faca
         se vet[cont1] < vet[cont2] entao
            troca <- vet[cont2]
            vet[cont2] <- vet[cont1]
            vet[cont1] <- troca
         fimse
      fimpara
   fimpara

   escreval("A ordem descrescente é:")
   para cont1 de 0 ate 9 faca
      escreval(vet[cont1])
   fimpara

fimalgoritmo

 

Espero ter ajudado!

  • Curtir 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...