/* Declaration de tableaux de variables              */
/* de type agrege position en deux dimensions        */

public class TableauPosition2D {
  
///////////////////////////////////////////////////////
  
  /* Type agrege de stockage d'une position du plan  */
  
  static class Position2D {
    double x = 0.0;
    double y = 0.0; };

  /* Programme principal                             */

  public static void main(String [] args) {
    int i;
    final int TAILLE = 4;
    /* Declaration du tableau                        */
    Position2D [] tpos = new Position2D[TAILLE];
    /* Initialisation des composantes par programme  */
    for ( i = 0 ; i < TAILLE ; i++ ) {
      tpos[i] = new Position2D(); }
    /* Affichage des Position2D du tableau tpos      */
    Ecran.afficherln("Valeurs après déclaration");
    for ( i = 0 ; i < tpos.length ; i++ ) {
      Ecran.formater("%8.5f %8.5f\n",tpos[i].x,tpos[i].y); }
    /* Affectation de valeurs tirees au sort         */
    /* aux Position2D du tableau tpos                */
    for ( i = 0 ; i < tpos.length ; i++ ) {
      tpos[i].x = Math.random();
      tpos[i].y = Math.random(); }
    /* Reaffichage des Position2D du tableau tpos    */
    Ecran.afficherln("Valeurs après affectation");
    for ( i = 0 ; i < tpos.length ; i++ ) {
      Ecran.formater("%8.5f %8.5f\n",tpos[i].x,tpos[i].y); }
  }
  
///////////////////////////////////////////////////////  
}