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