/* Declaration d'un type agrege avec un tableau      */
/* parmi ses champs: Un ensemble de double           */

public class TypeAgregeAvecTableau {

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

/* Constante de définition du nombre maximum         */
/* de valeurs stockables dans un ensemble de double  */
  
  final static int TAILLE = 15;

/* Type agrege de stockage d'un ensemble de double   */
/* n: nombre de valeurs stockees                     */
/* t: tableau ou sont stockees les valeurs           */
/*    aux indices 0 à n-1                            */
  
  static class EnsembleDeDouble {
    int n = 0;
    double [] t = new double[TAILLE]; };

/* Fonction d'initialisation d'un EnsembleDeDouble   */
/* nb : Le nombre de valeurs a initialiser           */
/* v : La valeur d'initialisation                    */
/* e : L'EnsembleDeDouble a initialiser              */
  
  static void initialisation(int nb,double v,
                             EnsembleDeDouble e) {
    int i;
    e.n = nb;
    for ( i = 0 ; i < e.n ; i = i+1 ) {
      e.t[i] = v; }
  }

/* Fonction d'affichage des valeurs contenues        */
/* dans un EnsembleDeDouble                          */
/* e : L'EnsembleDeDouble a afficher                 */
  
  static void affichage(EnsembleDeDouble e) {
    int i;
    for ( i = 0 ; i < e.n ; i = i+1 )
      Ecran.afficherln(e.t[i]);
  }
  
/* Programme principal                               */

  public static void main(String [] args) {
    /* Declaration d'un EnsembleDeDouble             */
    EnsembleDeDouble e = new EnsembleDeDouble();
    /* Initialisation de cet EnsembleDeDouble        */
    /* avec 5 valeurs 1.0                            */
    initialisation(5,1.0,e);
    /* Affichage de cet EnsembleDeDouble             */
    affichage(e);
  }

///////////////////////////////////////////////////////
}