Ir ao conteúdo
  • Cadastre-se

Calcular moda com mais de um resultado


Posts recomendados

Pessoal fiz um código aqui onde ele mostra qual a moda entre os números, só que se tiver mais de uma moda ele não mostra, por exemplo com os números {1,1,1,3,3,3} a moda seria 1 e 3, só que ele só mostra o 1 como moda, se eu colocar {1,1,1,3,3,3,3} ai vai certo e diz a moda como o 3, minha dúvida é um código para fazer escrever mais de uma moda.

obs. moda é o número que mais se repete, podendo ser mais de um, como no caso do bimodal.

o que eu fiz, mas que só mostra com uma moda:


public static void main(String args[]) {

int nVezes = 1, v, i = 0;
int moda = 0;
int comparaV = 0;
int M[] = {1, 1, 1, 3, 3, 3};

for (int p = 0; p < M.length; p++) {
nVezes = 1;

for (int k = p + 1; k < M.length; k++) {
if (M[p] == M[k]) {
++nVezes;
}
}
if (nVezes > comparaV) {
moda = M[p];
comparaV = nVezes;
}
}

System.out.println("Moda: "+moda);
}
}

E ai galera ?

Link para o comentário
Compartilhar em outros sites

  • 5 anos depois...

 A solução que encontrei foi essa , sempre irá mostrar todas as modas, resolvendo no caso de bimodais ou até mais. :)

 public static void main(String args[]) {

        int nVezes = 1, v, i = 0;
        int moda = 0;
        int comparaV = 0;
        int M[] = {1, 1, 1, 3, 3, 3};
        int qtdmodas=0;
        Integer Modas[]= new Integer[M.length];
        for (int p = 0; p < M.length; p++) {
            nVezes = 1;

            for (int k = p + 1; k < M.length; k++) {
                if (M[p] == M[k]) {
                    ++nVezes;
                }
            }
            if (nVezes > comparaV) {
                moda = M[p];
                Modas[qtdmodas]=moda;
                comparaV = nVezes;
            }else if(nVezes == comparaV){
                qtdmodas++;
                Modas[qtdmodas]=M[p];
            }
        }
        
        if(qtdmodas>0){
            System.out.print("As modas são");
            for (int j = 0; j <= qtdmodas; j++) {
                if(j==qtdmodas){
                    System.out.println(" e "+Modas[j]+".");
                }else{
                System.out.print(", "+Modas[j]);
                }
            }
            
        }
   		
   		System.out.println("Moda: "+moda);
    }

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!