Ir ao conteúdo
  • Cadastre-se
ET Bilu

VisualG Vetores - números repetidos - visualg

Posts recomendados

Não tenho a minima ideia de como fazer esse algoritmo, não vou fazer qualquer algoritmo descartável e postar aqui. Alguém me ajuda.

 

"Faça um programa que leia um vetor A de 10 elementos contendo números inteiros. Determine e mostre, a seguir, quais elementos de A estão repetidos e quantas vezes cada um se repete."

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ET Bilu   Olá, infelizmente não posso fazer o algoritmo para você, vou te dar uma
ideia de como fazer, aí você faz  e posta aqui para que possamos te ajudar.
  Então você pode fazer assim : depois de ler os valores e colocar no vetor
use dois loop, um dentro do outro indo de 1 ate 10 e dentro do segundo loop 
faça as comparações para ver se o número é igual a algum dos outros números
se for igual é porque ele é repetido então coloque ele em um outro vetor 
chamado vetor_repetido e também coloque em outro vetor o número de vezes 
desse número mais um.  aí no final escreva esses número que estão no vetor 

repetido.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 29/10/2016 às 21:49, devair1010 disse:

@ET Bilu   Olá, infelizmente não posso fazer o algoritmo para você, vou te dar uma
ideia de como fazer, aí você faz  e posta aqui para que possamos te ajudar.
  Então você pode fazer assim : depois de ler os valores e colocar no vetor
use dois loop, um dentro do outro indo de 1 ate 10 e dentro do segundo loop 
faça as comparações para ver se o número é igual a algum dos outros números
se for igual é porque ele é repetido então coloque ele em um outro vetor 
chamado vetor_repetido e também coloque em outro vetor o número de vezes 
desse número mais um.  aí no final escreva esses número que estão no vetor 

repetido.

Acho que compreendi, depois farei no visualg.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010

algoritmo "semnome"
// Função :
// Autor :
// Data : 01/11/2016
// Seção de Declarações
var
v:vetor[1..10] de real
i,cont,tam,repetido:inteiro
inicio
tam<-9
cont<-2
repetido<-0
para i de 1 ate tam faca
   leia(v[i])
fimpara
para i de 1 ate tam faca
   se v[cont]=v[i] então
      repetido<-repetido+1
      cont<-cont+1
   senao
      cont<-cont+1
   fimse
fimpara
fimalgoritmo

Por enquanto fiz isso aqui e tá confuso. Fiz uma lógica totalmente errada que eu acho que funcionaria no caso de escolher o maior número(me corrija). 

adicionado 2 minutos depois

@devair1010 No caso "=" por ">".

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ET Bilu    seu codigo está bom, mas precisa modificar algumas coisas. a variável
tam tem que ter o valor 10 porque são 10 números, e na hora de digitar os
números não digite zero, e coloque os números também no vetor_apoio,depois
do leia coloque assim:

vetor_apoio := v[i]

Essa variável repetido ali precisa ser um vetor bidimensional, para que 
possa receber os números repetidos e a quantidade de vezes que o número 
repetiu, e também mais um vetor para facilitar as coisas assim:

vetor_apoio    : vetor[1..10] de real 
vetor_repetido : vetor[1..10,1..2] de real

 

Esse vetor_repetido aí tem duas dimensões, é como se fosse 20 variáveis em
uma só, mas para usá-las é preciso informar a posição de cada uma delas e 
isso é feito com um loop, e para ver se o número repetiu, coloque mais um
loop, ali dentro do loop i, por exemplo:

para a de i+1 ate 10 faca 

e dentro desse loop faça as comparações de cada número com os outros

números do vetor v assim:

se v[a] = v[i]  então

aí se for igual, coloca  o número no

vetor_repetido[i,1] := v[a]

e coloca zero no vetor v na posição a e soma 1 ao contador e coloca o contador
 no vetor_repetido na posição [i,2],

 depois é mostrar na tela os números repetidos e a quantidade de vezes, com

um loop de 1 até 10; os numeros repetidos estão no vetor_repetido[i,1] e a

quantidade de vezes está no mesmo vetor_repetido[i,2].  e os números digitados

estão no vetor_apoio .

dimensa.bmp

dimensão.bmp

Compartilhar este post


Link para o post
Compartilhar em outros sites
35 minutos atrás, devair1010 disse:

@ET Bilu    seu codigo está bom, mas precisa modificar algumas coisas. a variável
tam tem que ter o valor 10 porque são 10 números, e na hora de digitar os
números não digite zero, e coloque os números também no vetor_apoio,depois
do leia coloque assim:


vetor_apoio := v[i]

Essa variável repetido ali precisa ser um vetor bidimensional, para que 
possa receber os números repetidos e a quantidade de vezes que o número 
repetiu, e também mais um vetor para facilitar as coisas assim:


vetor_apoio    : vetor[1..10] de real 
vetor_repetido : vetor[1..10,1..2] de real

 

Esse vetor_repetido aí tem duas dimensões, é como se fosse 20 variáveis em
uma só, mas para usá-las é preciso informar a posição de cada uma delas e 
isso é feito com um loop, e para ver se o número repetiu, coloque mais um
loop, ali dentro do loop i, por exemplo:


para a de i+1 ate 10 faca 

e dentro desse loop faça as comparações de cada número com os outros

números do vetor v assim:


se v[a] = v[i]  então

aí se for igual, coloca  o número no


vetor_repetido[i,1] := v[a]

e coloca zero no vetor v na posição a e soma 1 ao contador e coloca o contador
 no vetor_repetido na posição [i,2],

 depois é mostrar na tela os números repetidos e a quantidade de vezes, com

um loop de 1 até 10; os numeros repetidos estão no vetor_repetido[i,1] e a

quantidade de vezes está no mesmo vetor_repetido[i,2].  e os números digitados

estão no vetor_apoio .

dimensa.bmp

dimensão.bmp

Boa explicação, só que essa era uma lista de vetores simples, nós não chegamos em matrizes ainda. É possível fazer sem usar matrizes?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ET Bilu     sim pode-se usar vetores simples, para isso é preciso colocar mais um vetor 

por exemplo

vetor_num_vezes : vetor[1..10] de real

aí na comparação quando o número for igual, coloca nesse vetor o contador, e no 

vetor_repetido na posição i coloca o número  repetido e no final para mostrar  

na tela o número de vezes estará nesse vetor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também estou com um exercício parecido de vetores. Ainda estou pegando o jeito. No meu eu tenho que ler 10 números (coloquei 4 para facilitar os testes), e ver se é repetido, quantas vezes ele repete, e em quais índices ele aparece repetido:

Var
   // Seção de Declarações das variáveis
   V1: vetor[1..4] de inteiro
   v2: vetor[1..4] de inteiro
   cont,cont2,cont3: inteiro
Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   para cont de 1 ate 4 faca
      escreval("Digite o",cont,"° numero:")
      leia (v1[cont])

   fimpara



   escreval("________________")
   para cont2 de 1 ate 4 faca
      para cont3 de 1 ate 4 faca

         se (V1[cont3] = V1[cont2]) e (cont2<>cont3)  então


            escreval("O numero",V1[cont2]," apareceu  no ",cont2,"º indice")
         fimse

      fimpara
   fimpara


Fimalgoritmo

 

Fiz somente ate aqui, tirando as explicações acima que são referentes a pergunta do outro colega, mesmo envolvendo o mesmo tema, vcs podem me ajudar a entender a lógica de como fazer??

tem que dar algo assim: o numero 45 apareceu 3 vezes, no índice 2, no índice 8 e no índice 10

Compartilhar este post


Link para o post
Compartilhar em outros sites

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!