/* Calcul du nombre de valeurs inferieures     */
/* ou egales a une valeur limite trouvees      */
/* dans un tableau de double                   */

public class FonctionNombreValeursInferieuresLimiteEnConsole {

/* Fonction de creation et retour              */
/* d'un tableau de double initialisé           */
/* avec des nombres aleatoires                 */
/* compris entre 0.0 et 20.0                   */
/* n : La taille du tableau généré             */

  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 et retour du nombre      */
/* de valeurs inférieures ou égales            */
/* à une valeur limite trouvées                */
/* dans un tableau de double                   */
/* t : Le tableau de double de recherche       */
/* limite : La valeur limite                   */

  static int nbValeursInferieuresLimite(double [] t,
                                        double limite) {
    int cpt;
    int i;
    cpt = 0;
    for ( i = 0 ; i < t.length ; i = i+1 ) {
      if ( t[i] <= limite ) {
        cpt = cpt+1; } }
    return cpt;
  }

/////////////////////////////////////////////////

/* Programme principal                         */

  public static void main(String [] args) {
    Console.setTitle("FonctionNombreValeursInferieuresLimite");
    int n;
    double limite;
    double [] t;
    int nb;
    Console.afficher("SVP, taille du tableau? ");
    n = Console.saisirInt();
    Console.afficher("SVP, valeur limite? ");
    limite = Console.saisirDouble();
    t = initRand(n);
    nb = nbValeursInferieuresLimite(t,limite);
    Console.afficherln("Nombre de valeurs < a ",limite," : ",nb);
  }
}