Crie um vetor que receba 10 valores e escreva o maior valor digitado e o menor número que mais se repete

Crie um vetor que receba 10 valores e escreva o maior valor digitado e o menor número que mais se repete.

Consegui encontrar os maiores valores e não consegui encontrar os valores que mais se repete. Alguém pode me ajudar?

import java.util.Scanner;
public class Questao3{
  public static void main(String args[]){
    Scanner ler = new Scanner(System.in);

    int t = 10; // tamanho do vetor
    int v[] = new int[n]; // declaração do vetor "v"
    int i; // índice ou posição

// Entrada de Dados
    for (i=0; i<t; i++) {
      System.out.printf("Informe %2do. valor de %d: ", (i+1), t);
      v[i] = ler.nextInt();
    }

// Processamento: somar todos os valores, definir o maior valor e o menor que mais se repete.

    int soma = 0;
    int menor = v[0]; // v[0] = 1o. valor armazenador no vetor "v"
    int maior = v[0];
    for (i=0; i<t; i++) {
      soma = soma + v[i];

      if (v[i] < menor)
         menor = v[i];

      if (v[i] > maior)
         maior = v[i];
    }
    
// Saída (resultados)
    System.out.printf("\n");
    for (i=0; i<t; i++) {
      if (v[i] == menor)
        System.out.printf("v[%d] = %2d <--- menor valor\n", i, v[i]);
      else if (v[i] == maior)
              System.out.printf("v[%d] = %2d <--- maior valor\n", i, v[i]);
           else System.out.printf("v[%d] = %2d\n", i, v[i]);
    }
  }
}
1 curtida

Faça o mesmo que vc fez para encontrar o mairo/menor e a soma.
Para o v[0], conte quantas repetiçoes possuem, depois repita com v[1], compare qual tem mais e guarde numa variavel. Em seguida repita com v[2], v[3], … até i = t.
Para isso, precisará de dois loops, i que seleciona o valor a ser encontrado e j que irá comparar com o v[i].

1 curtida
	public static void main(String args[]){
	    int vetor[] ={2,3,3,3,3,3,3,2,2,2,2,6,6,6,6}; // declaração do vetor "v"
	    int contador = 0,numero = 0;
	    
	    for (int i = 0; i < vetor.length; i++) {
			int c = 0;
			for (int j = 0; j < vetor.length; j++) {
		    	if(vetor[i] == vetor[j]){
		    		c++;
		    	}
			}

	    	if(c > contador){
	    		contador = c;
	    		numero = vetor[i];
	    	}
		}
	    
	    System.out.println(numero);
	}


1 curtida

Obrigado pela colaboração de vocês. :slight_smile: Me ajudou Muito.

Por favor, da próxima vez crie um tópico com uma discussão abreviada.

Exemplo: > como descobrir maior e menor valor digitado.

1 curtida

Obrigado pela a dica