Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Danius

[Resolvido] Numero com maior ocorrência

Recommended Posts

gostaria que alguem me ajudasse

 

To tentando fazerr um algoritimo que leia 1000 numeros e diga o que mais se repetiu!

 

sei que faz com vetores. tem que ter um contador pra os repetidos e outros mais..

sou novo na area de TI.. to fazendo um curso de programador em java. e qualquer ajuda de alguem mais experiente seria valida...

se alguem se disponibilizar a me ajudar.. favor mande um Email pra mim.. danyel_santos@hotmail.com

nao quero o algoritimo pronto!!! quero uma base de onde começar e o que fazer!

abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é bem simples..

posso te orientar você qr fazer como?/

* Só a lógica?

* Usando ArrayList em Java?

* Usando map em C++?

 

Como pretende fazer??

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é bem simples..

posso te orientar você qr fazer como?/

* Só a lógica?

* Usando ArrayList em Java?

* Usando map em C++?

 

Como pretende fazer??

 

[]s

 

 

sim sim so a logica do problema..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom a lógica já que você está iniciando em Java, vou te mostrar a lógica de como se faz com ArrayList ok?

Porque se a gente for fazer em portugol, teremos que utilizar ou registros ou matrizes(se for o caso msm eu tento te explicar tbm).

 

A lógica:

Primeira cria a lista e o leitor:

List<Integer> teste = new ArrayList<Integer>();
BufferedReader leitor = new BufferedReader(new InputStreamReader(System.in));
Agora você sabe td isso aki é dentro de um loop, para ir lendo os outros numeros.

Você le o numero e adiciona ele na lista

numero = Integer.parseInt(leitor.readLine());
teste.add(numero);
Logo após a leitura você verifica a frequencia desse numero na lista:

vezes = Collections.frequency(teste, numero);

Bom tem um pouquinho ainda, você ta entendendo??

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom a lógica já que você está iniciando em Java, vou te mostrar a lógica de como se faz com ArrayList ok?

Porque se a gente for fazer em portugol, teremos que utilizar ou registros ou matrizes(se for o caso msm eu tento te explicar tbm).

 

A lógica:

Primeira cria a lista e o leitor:

List<Integer> teste = new ArrayList<Integer>();
BufferedReader leitor = new BufferedReader(new InputStreamReader(System.in));
Agora você sabe td isso aki é dentro de um loop, para ir lendo os outros numeros.

Você le o numero e adiciona ele na lista

numero = Integer.parseInt(leitor.readLine());
teste.add(numero);
Logo após a leitura você verifica a frequencia desse numero na lista:

vezes = Collections.frequency(teste, numero);

Bom tem um pouquinho ainda, você ta entendendo??

 

[]s

 

 

 

muito obrigado pela explicaçao mas se for em portugol seria um pouco mais claro pra mim.

agradeco pelas dicas ate entao..obrigado mesmo..se possivel me da uma explicaçao com portugol

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos usar registros entaum, o ruim de fazer assim sem recurso pra facilitar é que faremos muitos loops.

Primeiro criaremos o registro:

Registro VezesNumero
    Inteiro iNumero;
    Inteiro iVezes;
Fim_Registro;

ai você faz algo assim:

Leia (Numero);
Para i de 0 até iTotalRegistros faça
    Se (Numero == VezesNumero[i].iNumero) Então
        VezesNumero[i].iVezes = VezesNumero[i].iVezes + 1;
    Fim_Se
Fim_Para
Depois que tiver tudo armazenado, use uma variavel auxilar para ir guardando qual o valor que mais se repete.

 

Ta entendendo ou to falando muitoooo grego??!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos usar registros entaum, o ruim de fazer assim sem recurso pra facilitar é que faremos muitos loops.

Primeiro criaremos o registro:

Registro VezesNumero
    Inteiro iNumero;
    Inteiro iVezes;
Fim_Registro;

ai você faz algo assim:

Leia (Numero);
Para i de 0 até iTotalRegistros faça
    Se (Numero == VezesNumero[i].iNumero) Então
        VezesNumero[i].iVezes = VezesNumero[i].iVezes + 1;
    Fim_Se
Fim_Para
Depois que tiver tudo armazenado, use uma variavel auxilar para ir guardando qual o valor que mais se repete.

 

Ta entendendo ou to falando muitoooo grego??!

 

[]s

 

agora entendi

muito obrigado pela explicaçao..

eternamente grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

q bom camarada http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

[]s

 

--

Aproveitando vou editar o título do seu tópico:

 

Algoritimos http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Número com maior ocorrência

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.