Ir ao conteúdo
  • Cadastre-se

Algoritmo visualG com vetores


Posts recomendados

Boa noite eu estou quebrando a cabeça a uma semana já com esse algoritmo

 

alguém com poderia me ajuda estou tentando a uma semana e não tive sucesso

 

eu porém consegui fazer duas parte de excluir e gerar

tipo já tenho feito 

parte de excluir 10

escolher aleatório 50

 

nessa terceira quebra to tendo dificuldade pra desenvolver

dos 50 que gerei aleatório quero fixar 10

então sobra 40 desses eu queria gerar mais 10 só que aleatório fazendo isso 10 vezes esse processo só que 

colocar tudo na mesma linha os 10 gerados com os fixado 

 

aqui esta o código  

 

Algoritmo "aleatorios"
Var
a,b,c,d,f,g,op : inteiro
vetor_n      : vetor[1..100] de inteiro
vetor_esc    : vetor[1..100] de inteiro
procedimento excluir
inicio
  d:=1
  para a de 1 ate 100 faca
    vetor_n[a]:=a
  fimpara
  para a de 1 ate 10 faca
    b:=1
    repita
      c:=randi(100)+1
      se vetor_n[c]=0 então
        b:=2
      senao
        vetor_n[c]:=0
        se a < 10 então
          escreval("   ",a,"º  - Número Excluído --> ",c)
        senao
          escreval("   ",a,"º - Número Excluído --> ",c)
        fimse
      fimse
      b:=b-1
    ate b=0
  fimpara
  escreval
  escreval("Tecle Enter")
  leia(a)
fimprocedimento
procedimento escolher
inicio
  op:=1
  g :=0
  se d = 2 então
    escreval("Você Já Escolheu O Números Aleatórios, Se Você Escolher Novamente")
    escreval("Os Números Escolhidos e Excluídos Serão Perdidos.     Continuar ?")
    escreval("    1 - Sim    ou   2 - Não")
    leia(op)
    se op =1 então
      g:=1
    fimse
  fimse
  se op=1 então
    para a de 1 ate 100 faca
      vetor_esc[a] := 0
    fimpara
    se d <> 0 então
      d:=2
      para a de 1 ate 50 faca
        b:=1
        repita
          b:=1
          c:=randi(100)+1
          se vetor_n[c]=0 então
            b:=2
          senao
            para f de 1 ate 100 faca
              se vetor_esc[f]=c então
                b:=2
              fimse
            fimpara
          fimse
          se b=1 então
            vetor_esc[c]:=c
            se a < 50 então
              escreval("   ",a,"º  - Número Escolhido --> ",vetor_esc[c])
            senao
              escreval("   ",a,"º - Número Escolhido --> ",vetor_esc[c])
            fimse
          fimse
          b:=b-1
        ate b=0
      fimpara
    senao
      escreval("Primeiro Tem Que Excluir Os Número   Tecle Enter e Vá Na Opção 1")
    fimse
    escreval()
    escreval("Tecle Enter")
    leia(a)
  fimse
  se g=1 então
    d:=0
  fimse
fimprocedimento

 

 

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

@Vengefull    pelo que entendi, você, tendo cem números, você quer excluir dez números, depois dos 90 restantes, escolher cinquenta números aleatórios e então desses cinquenta escolhidos aleatórios você quer escolher 10 e guardar eles no vetor para que eles seja fixados e desses 40 que restaram você quer gerar 10 números aleatórios e imprimir na tela os números que foram fixados e em seguida imprimir esses 10 gerados dos 40 e repetir isso 10 vezes.
   

    nesse código é usado vetor para guardar os números .
    um vetor é uma variável com várias posições, sendo que em cada posição pode-se colocar um valor,  que seja um número ou uma string, e para modificar um determinado valor basta informar em qual posição do vetor será feita a modificação e qual o novo valor a ser colocado.

       um vetor tem esse formato :

 

vetor.thumb.jpg.df33847e3209149bbcf42b756235e613.jpg

 

nele cada número está em uma posição, então caso você queira excluir o número 41,por exemplo, então você colocaria :
vetor_n na posição 3 recebe zero, com isso o número 41 que está na posição 3 do vetor_n será zerado.
e o comando para fazer isso seria assim :

 vetor_n[3] := 0

e para fixar um número você colocaria o número escolhido em um vetor que recebe os números escolhidos
que pode ser assim :
   você declara o vetor assim:

vetor_esc[10] : inteiro

depois quando você pegou o número escolhido você coloca ele no vetor :
vetor_esc na posição 1 recebe número escolhido.

usando esse comando:

vetor_esc[1] := número escolhido

com isso o número que foi escolhido ficará guardado no vetor_esc de números escolhidos, durante o tempo que o program estiver rodando ou até que você o modifique.

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

Muito obrigado pela resposta mais nao consegui entender de como chegar nesse processo 

e lembrando eu tenho muita dificuldade em aprender por que o trabalho me impede de estudar 

 

com todo respeito poderia me dar uma outra forma que eu possa chegar onde quero  ou um esqueleto de algoritimo ou modo fluxo grama

 

e me desculpa por nao compreender logo irei começar a formalizar o pensamento logico esse code acima um amigo ajudou e quero sair do ramo que trabalho e seguir como dev mais precisso aprender programcao e to com dificuldade 

nao tenho tempo nem instrutor ajudem me um abraço.

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

@Vengefull      para começar você precisa entender como o programa funciona, nesse aqui que tem procedimentos, ele começa executando os comandos que estão lá embaixo onde está escrito inicio, então ele limpa a tela e imprime as opções e fica esperando algo ser digitado e tecle enter, aí ele vai para a opção escolhida.  
  esse procedimento de escolher os 50 que você postou está funcionando bem então pode usa-lo, colocando ele junto com os outros procedimentos.
  na opção 5   você vai usar o vetor_esc como base para escolher os 10 números e guarda-los no  vetor_fixados e ao escolher o número zerar esse mesmo número no vetor_esc, ficando apenas 40 números nesse vetor.
  na opção 6    você vai usar o vetor_esc novamente para gerar os outros 10 números aleatórios, sendo que agora só restará 40 números nesse vetor, e então  imprimir os 10 números que estão no  vetor_fixados e aí gerar os outros 10 números aleatórios e imprimi-los em seguida fazendo isso dez vezes usando um loop.
  aqui tem um exemplo com duas opções, a de excluir os números e a de mostrar os números  excluído.    você pode usa-lo para começar, e faça as opções 2, 3, 5 e 6.
 vai fazendo aos poucos, uma de cada vez .

Algoritmo "aleatorios100"
Var
a,b,c,d,f,g,op : inteiro
vetor_n        : vetor[1..100] de inteiro
vetor_esc      : vetor[1..100] de inteiro
vetor_fixados  : vetor[1..10 ] de inteiro
procedimento excluir
inicio
  se d=0 ENTÃO
    para a de 1 ate 100 faca
      vetor_n[a]:=a
    fimpara
  fimse
  d:=1
  para a de 1 ate 10 faca
    b:=1
    repita
      escreva("Digite O ",a," Número De 1 Até 100 Para Excluir ")
      leia(g)
      se ((g > 0) e (g < 101)) ENTÃO
        se vetor_n[g]=0 ENTÃO
          b:=2
          escreval("Este Número Já Foi Excluído,  Tecle Enter e Escolha Outro")
          leia(op)
        senao
          vetor_n[g]:=0
        fimse
      senao
        escreval("Número Fora De Faixa,   Tecle Enter e Escolha Outro")
        leia(op)
        b := 2
      fimse
      b:=b-1
    ate b=0
  fimpara
  escreval
  escreval("Números Excluídos !!!    Tecle Enter")
  leia(a)
fimprocedimento

procedimento mostrar_excluidos
inicio
  se d <> 0 ENTÃO
    escreval("Aqui Estão Os Números Excluídos")
    para a de 1 ate 100 faca
      se vetor_n[a]=0 ENTÃO
        escreva(a," ")
      fimse
    fimpara
  senao
    escreval("Você Ainda Não Excluiu Os Números,   Vá Na Opção 1")
  fimse
  escreval()
  escreval("      Tecle Enter")
  leia(op)
fimprocedimento

//************************   inicio   *************************************
Inicio
repita
  limpatela
  escreval("            Menu Principal")
  escreval("     ------------------------------------")
  escreval("       1 - excluir  numeros")
  escreval("       2 - escolher 50 numeros aleatorios")
  escreval("       3 - Mostrar  50 numeros escolhidos")
  escreval("       4 - Mostrar  10 numeros  excluidos")
  escreval("       5 - Escolher e Fixar 10 Números Manual")
  escreval("       6 - Escolher 10 aleatorios e imprimir ")
  escreval("       7 - sair")
  escreva("                  ")
  leia(op)
  escolha op
    caso 1
      excluir
    caso 4
      mostrar_excluidos
  fimescolha
ate op=7
Fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!