/* Calcul des nombres de de valeurs */ /* par intervalle de largeur 1.0 */ /* pour un tableau de double compris */ /* entre 0.0 et 20.0 */ public class FonctionClassificationTableau { /* Fonction de creation d'un tableau de double */ /* initialise avec des nombres aleatoires */ /* compris entre 0.0 et 20.0 */ static double [] initRand(int n) { int i; double [] tab = new double[n]; for ( i = 0 ; i < tab.length ; i = i+1 ) { tab[i] = Math.random()*20.0; } return tab; } ///////////////////////////////////////////////// /* Fonction de calcul des nombres de de valeurs */ /* par intervalle de largeur 1.0 */ /* pour un tableau de double compris */ /* entre 0.0 et 20.0 */ /* Un tableau de 20 entiers est calculé */ /* et retourné */ /* t : Le tableau de double subissant */ /* l'opération de classification */ static int [] classification(double [] t) { int i; int cl; int [] classification = new int[20]; for ( i = 0 ; i < 20 ; i = i+1 ) { classification[i] = 0; } for ( i = 0 ; i < t.length ; i = i+1 ) { cl =(int) t[i]; classification[cl] = classification[cl]+1; } return classification; } ////////////////////////////////////////////////// /* Programme principal */ public static void main(String [] args) { int i; int n; double [] t; int [] classification; Ecran.afficher("SVP, taille du tableau? "); n = Clavier.saisirInt(); t = initRand(n); Ecran.afficherln("Nombres de valeurs:"); classification = classification(t); for ( i = 0 ; i < 20 ; i = i+1 ) { Ecran.afficherln(i," ",classification[i]); } } }