Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
ET Bilu

VisualG Vetores - números repetidos - visualg

Recommended Posts

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

 

 

Editado por DiF
  • Curtir 1

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.

  • Curtir 1

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.

  • Curtir 1

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

 

  • Curtir 1

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

  • Curtir 1

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?

  • Curtir 1

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.

Editado por devair1010
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

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

Editado por Simon Viegas
Inserir tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






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

×