Ir ao conteúdo
  • Cadastre-se

VisualG FimEnquanto sem Enquanto correspondente. Como se corrige esse erro na linha 29?


Posts recomendados

É para eu fazer uma aula como professor do YouTube.

 

Algoritmo "OrdenacaoVetorInsercao"
    // Olá! Seja bem-vindo ao seu curso de Lógica de Programação! Eu sou
    // Eduardo de Quadros e essa é a vigésima primeira aula, Ordenação do
    // Vetor por Inserção.
Var
    V: Vetor[1..12] de Inteiro
    i, j, elemento_chave: Inteiro
Inicio
    Para i <- 1 ate 12 faca
        Escreva("Informe o ", i, "º elemento do vetor: ")
        Leia(V[i])
    FimPara
    EscrevaL("")
    EscrevaL("Vetor original:")
    EscrevaL("")
    Para i <- 1 ate 12 faca
        Escreva(V[i]:4)
    FimPara
    EscrevaL("")
    EscrevaL("")
    EscrevaL("Vetor ordenado:")
    EscrevaL("")
    Para j <- 2 ate 12 faca
        elemento_chave <- V[j]
        i <- j - 1
        Enquanto (V[i] > elemento_chave) e (i >= 1) faca
            V[i + 1] <- V[i]
            i <- i - 1
        FimEnquanto
        V[i] <- elemento_chave
    FimPara
    Para i <- 1 ate 12 faca
        Escreva(V[i]:4)
    FimPara
FimAlgoritmo

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@EduardoMQS     não consegui descobrir por que em alguns casos ele apresenta esse erro e em outros funciona bem ,   me parece que seja algum bug no compilador que não aceita duas expressões no mesmo comando enquanto ,  então para contornar isso você pode usar mais duas linhas no código e fazer outra comparação usando o comando  se  , e então seu código poderias ser assim  :

Algoritmo "OrdenacaoVetorInsercao"
    // Olá! Seja bem-vindo ao seu curso de Lógica de Programação! Eu sou
    // Eduardo de Quadros e essa é a vigésima primeira aula, Ordenação do
    // Vetor por Inserção.
Var
    V: Vetor[1..12] de Inteiro
    i, j, elemento_chave,eleito: Inteiro
Inicio
    Para i <- 1 ate 12 faca
        Escreva("Informe o ", i, "º elemento do vetor: ")
        Leia(V[i])
    FimPara
    EscrevaL("")
    EscrevaL("Vetor original:")
    EscrevaL("")
    Para i <- 1 ate 12 faca
        Escreva(V[i]:4)
    FimPara
    EscrevaL("")
    EscrevaL("")
    EscrevaL("Vetor ordenado:")
    EscrevaL("")
        para i de 2 ate 12 faca
          elemento_chave <- v[i]
          j <- i-1
          enquanto (j > 0  ) faca
            se elemento_chave < v[j] entao
              v[j+1]:= v[j]
              j:=j-1
            fimse
          fimenquanto
          v[j+1] <- elemento_chave
        fimpara
    Para i <- 1 ate 12 faca
        Escreva(V[i]:4)
    FimPara
FimAlgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...