Ir ao conteúdo
  • Cadastre-se

VisualG Como eu faço para os números digitados pelo usuário não ser repetido?


Posts recomendados

<>

Algoritmo "lergado"

Var
   vet       : vetor[0..9] de inteiro
   vet_par : vetor[0..9] de inteiro
   vet_impar   : vetor[0..9] de inteiro
    i : inteiro
   i_impar, i_par : inteiro
Inicio
   Escreva( "Divisão do gado:")
   
    Para i de 0 até 9 faça
         Escreva(i+1, "º valor:")
        Leia(vet[i])
   fimpara
   
   i_par <- 0
   i_impar   <- 0
   
   Para i de 0 até 9 faça
   
      Se( vet[i] % 2 = 0 ) então
          vet_par[i_par] <- vet[i]
          i_par <- i_par + 1
      Senão
          vet_impar[i_impar] <- vet[i]
          i_impar <- i_impar + 1
      fimse
      
   fimpara
   

   Escreva()
   Escreva("Pasto 1:")
   Escreva()
   Para i de 0 até (i_par-1) faça
          Escreva( vet_par[i] )
   fimpara
   
   Escreva(" ")
   Escreva("Pasto 2:")
   Escreva()
   Para i de 0 até (i_impar-1) faça
          Escreva( vet_impar[i] )
   fimpara
   
Fimalgoritmo

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

@Eduardo V     para não ter números repetidos você precisa comparar o número digitado com todos os outros números Que já estejam armazenado no vetor  ,  assim seria melhor inicializar todos os elementos  do vetor com um valor que provavelmente você não irá usar ,  e coloque um laço de repetição que percorra todas as posições do vetor ,  e se for igual a algum que esteja no vetor  ,  repita  / ate  que não seja igual  ,   e seu código fica  melhor se usar o botão code "<>" , 

1192068192_barracode.jpg.7f2512c77c2512fc0d6b0d28122536eb.jpg

 

e  poderia  ser assim  :

 

algoritmo "lêrgado"
var
  vet         : vetor[0..9] de inteiro
  vet_par     : vetor[0..9] de inteiro
  vet_impar   : vetor[0..9] de inteiro
  j,i,i_impar : inteiro
  i_par,flg   : inteiro
procedimento mostra_vetor
var
  w : inteiro
inicio
  escreval("já tem esses numeros no vetor")
  para w de 0 ate 9 faca
    se vet[w] <> -1 entao
      escreval(w+1:2,"º --: ",vet[w])
    fimse
  fimpara
  escreval("tecle Enter para continuar")
  leia(w)
fimprocedimento
inicio
  escreval( "Divisão do gado:")
  para i de 0 ate 9 faca
    vet[i] := -255                             // primeiro preenche o vetor
  fimpara
  para i de 0 ate 9 faca
    repita
      escreva(i+1:2, "º valor: ")
      flg := 0
      leia(vet[i])
      para j de 0 ate 9 faca                   // percorre todas asx pos do vet
        se (vet[i] = vet[j]) e (i <> j) entao  // procura por nUmero igual
          flg := 1
          mostra_vetor                         // mostrar os nUmeros jA inseridos
          limpatela
          interrompa                           // interrompe Apenas esse laço j
        fimse
      fimpara
    ate flg = 0
  fimpara
  i_par <- 0
  i_impar   <- 0
  para i de 0 ate 9 faca
    se vet[i] % 2 = 0  entao
      vet_par[i_par] <- vet[i]
      i_par <- i_par + 1
    senao
      vet_impar[i_impar] <- vet[i]
      i_impar <- i_impar + 1
    fimse
  fimpara

  escreval
            
  escreva("Pasto 1: ")
  para i de 0 ate (i_par-1) faca
    Escreva( vet_par[i] )
  fimpara

  escreval
  escreval
  
  escreva("Pasto 2:")
  para i de 0 ate (i_impar-1) faca
    escreva( vet_impar[i] )
  fimpara
            
  escreval
  escreval
fimalgoritmo

 

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