Je dois faire ceci pour un cours:

Écrire un programme qui permet de saisir un tableau de n entiers strictement supérieurs à 0 et de renvoyer les deux entiers les plus fréquents.

À date, je me suis dit que si je mettais les entiers en ordre croissant, cela m'aiderait lors de ma vérification. Mais justement, je ne comprends pas comment trouver les 2 entiers les plus fréquents.

Merci de votre précieuse aide.

Voici mon code à date:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import javax.swing.JOptionPane;
 
 
public class Exercice4 {
 
 
 
	public static void main (String[]args){
 
		int nbrEntiers = 0, 
		i = 0, transition;
		boolean permutation;
 
 
		nbrEntiers = Integer.parseInt(JOptionPane.showInputDialog("Veuillez saisir le nombre d'entiers que vous souhaitez entrer. "));
 
 
		while(nbrEntiers < 0) 
		{
 
		System.out.println("Entrée eronnée. Veuillez recommencer");
		nbrEntiers = Integer.parseInt(JOptionPane.showInputDialog("Veuillez saisir le nombre d'entiers que vous souhaitez entrer. "));
 
 
		}
 
		int[] tab = new int [nbrEntiers];
 
		for (i=0; i<(nbrEntiers); i++)
	      {
	      tab[i]=Integer.parseInt(JOptionPane.showInputDialog("Entrez la valeur" +(i+1) + " du tableau: "));
	      }  	
 
	      do
	      {
 
	    	 //hypothèse : le tableau est trié
	         permutation=false;	
 
 
 
	          for (i=0; i<(nbrEntiers-1); i++)
	      {
 
	        	  if(tab[i]>tab[i+1])
	                   {
	                   //s'ils ne le sont pas on échange leurs positions
	                  transition=tab[i];
	                   tab[i]=tab[i+1];
	                   tab[i+1]=transition;
 
 
	                   permutation=true;
 
	                   }
	      		}
 
	      }
	      while(permutation);
 
      }
 
 
	}