Danius 0 Denunciar post Postado Setembro 2, 2009 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
quitZAUMMM 18 Denunciar post Postado Setembro 2, 2009 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
Danius 0 Denunciar post Postado Setembro 2, 2009 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
quitZAUMMM 18 Denunciar post Postado Setembro 2, 2009 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
Danius 0 Denunciar post Postado Setembro 2, 2009 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
quitZAUMMM 18 Denunciar post Postado Setembro 2, 2009 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
Danius 0 Denunciar post Postado Setembro 2, 2009 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
quitZAUMMM 18 Denunciar post Postado Setembro 2, 2009 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