Ir ao conteúdo

Posts recomendados

Postado

É 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
Postado

@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

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