1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| import java.util.Arrays;
public class Matrice {
public static void main(String[] args) {
int[][] matrice = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } };
System.out.println(Arrays.deepToString(matrice));
// Le décalage supposé voulu pour le swap.
int input = 2;
// 1. On fait à la main une première fois
int tampon = 0;
tampon = matrice[0][2]; // affecte la valeur 3
matrice[0][2] = matrice[1][0]; // affecte la valeur 5 à la place de la valeur 3
matrice[1][0] = tampon; // affect la valeur 3 à la place de la valeur 5.
System.out.println(Arrays.deepToString(matrice));
// 2. On écrit une méthode qui le fait à notre place.
swap(matrice, 0, 3, 1, 1);
System.out.println(Arrays.deepToString(matrice));
// 3. On le fait le swap pour tout une ligne :
int[] ligne = matrice[2];
for (int i = input; i < ligne.length; i++) {
swap(matrice, 2, i, 3, i - input);
}
System.out.println(Arrays.deepToString(matrice));
// 4. On le fait pour tout les groupes de deux lignes.
}
// Fonction qui échange deux éléments dans une matrice données.
// Il n'y a aucune vérification quant à la possibilité du swap.
// Attention aux OutBoundException !!
public static void swap(int[][] matrice, int ax, int ay, int bx, int by) {
int tampon = 0;
tampon = matrice[ax][ay]; // affecte la valeur 3
matrice[ax][ay] = matrice[bx][by]; // affecte la valeur 5 à la place de la valeur 3
matrice[bx][by] = tampon; // affect la valeur 3 à la place de la valeur 5.
}
} |
Partager