/* Declaration de tableaux de variables */ /* de type agrege position en deux dimensions */ /* Developpement de fonctions dediees */ public class TableauPosition2DAvecFonctions { /////////////////////////////////////////////////////// /* Type agrege de stockage d'une position du plan */ static class Position2D { double x = 0.0; double y = 0.0; }; /* Fonction de creation et retour */ /* d'un tableau de Position2D */ /* n : La taille du tableau de position 2D a creer */ static Position2D [] tableauDePosition2D(int n) { int i; /* Declaration du tableau */ Position2D [] tpos = new Position2D[n]; /* Initialisation des composantes par programme */ for ( i = 0 ; i < n ; i++ ) { tpos[i] = new Position2D(); } return tpos; } /* Fonction d'affichage d'une position 2D */ /* p : La position2D à afficher */ static void affichage(Position2D p) { Ecran.formater("[%8.5f,%8.5f]",p.x,p.y); } /* Fonction d'affichage d'un tableau de Position2D */ /* tpos : Le tableau de position 2D à afficher */ static void affichage(Position2D [] tpos) { int i; for ( i = 0 ; i < tpos.length ; i++ ) { affichage(tpos[i]); Ecran.sautDeLigne(); } } /* Programme principal */ public static void main(String [] args) { final int TAILLE = 5; /* Declaration du tableau tpos1 */ /* par utilisation de la fonction ad hoc */ Position2D [] tpos1 = tableauDePosition2D(TAILLE); /* Affichage des Position2D du tableau tpos1 */ Ecran.afficherln("Premier tableau"); affichage(tpos1); /* Declaration du tableau tpos1 */ /* avec intialisation de ses champs */ /* lors de la declaration */ Position2D [] tpos2 = { new Position2D(), new Position2D(), new Position2D() }; /* Affichage des Position2D du tableau tpos2 */ Ecran.afficherln("Second tableau"); affichage(tpos2); } /////////////////////////////////////////////////////// }