27 Fév2016
Manipulation des tableaux réguliers et les tableaux non réguliers
Objectifs :
- Manipulation des tableaux à deux dimensions.
- Découvrir les tableaux réguliers (rectangulaires)
- Découvrir les tableaux non réguliers (non rectangulaires)
Énoncé :
- Déclarer les deux tableaux suivants en Java :
2 |
4 |
5 |
3 |
33 |
32 |
Tableau I (Tableau Régulier)
3 |
||
3 |
4 |
5 |
3 |
5 |
|
3 |
1 |
0 |
Tableau 2 (Tableau non régulier)
- Créer une fonction permettant d’afficher les éléments de chaque tableau ligne par ligne.
- Créer un programme de Test (main).
Question 1 : Déclaration et initialisation
Tableau régulier
Les trois méthodes suivantes permettent de déclarer un tableau à deux dimensions et d'initialiser son contenu.
int [][] t = {{2, 4, 5},{3, 32, 33}}; int t [][] = {{2, 4, 5},{3, 32, 33}}; int [] t [] = {{2, 4, 5},{3, 32, 33}};
On pourra procéder également comme suite :
Déclaration :
int[][] t = new int[2][3];
Initialisation :
t[0][0] = 2; t[0][1] = 4; t[0][2] = 5; t[1][0] = 3; t[1][1] = 32; t[1][2] = 33;
Tableau non régulier
1ère Méthode
Déclaration et initialisation :
int[][] t = {{3}, {3, 4, 5}, {3, 5}, {3, 1, 0}}; int t [][] = {{3}, {3, 4, 5}, {3, 5}, {3, 1, 0}}; int[] t [] = {{3}, {3, 4, 5}, {3, 5}, {3, 1, 0}};
2ème Méthode
Déclaration :
int[][] t = new int[3][]; t[0] = new int[1]; t[1] = new int[3]; t[2] = new int[2]; t[3] = new int[3];
Initialisation :
t[0][0] = 3; t[1][0] = 3; t[1][1] = 4; t[1][2] = 5; t[2][0] = 3; t[2][1] = 5; t[3][0] = 3; t[3][1] = 1; t[3][2] = 0;
Question 2 : Méthode pour parcourir les tableaux à deux dimensions ligne par ligne
public static void affiche(int [][] t){ for (int[] t1 : t) { for (int j = 0; j < t1.length; j++) { System.out.print("\t" + t1[j]); } System.out.println(""); } }
Question 3 : Programme de Test
public class Tab { public static void affiche(int [][] t){ for (int[] t1 : t) { for (int j = 0; j < t1.length; j++) { System.out.print("\t" + t1[j]); } System.out.println(""); } } public static void main(String[] args) { int[][] t = new int[4][]; t[0] = new int[1]; t[1] = new int[3]; t[2] = new int[2]; t[3] = new int[3]; t[0][0] = 3; t[1][0] = 3; t[1][1] = 4; t[1][2] = 5; t[2][0] = 3; t[2][1] = 5; t[3][0] = 3; t[3][1] = 1; t[3][2] = 0; affiche(t); } }
Résultat d’exécution :
3
3 4 5
3 5
3 1 0