Ir ao conteúdo

Posts recomendados

Postado

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 ?

  • 5 anos depois...
Postado

 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);
    }

 

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!