Exercice JAVA transposition - tableaux

But:

Ecrivez un programme Java qui permet de lire, transposer et afficher une matrice carrée n x n.

Thème:

Tableaux

Ecrivez le programme Java Transposer.java permettant de lire, transposer et afficher une matrice carrée n × n.

Exemple d'exécution:

Donnez la dimension de la matrice: 2 Entrez un nombre entier pour la rangée 0 et la colonne 0 : 1 Entrez un nombre entier pour la rangée 0 et la colonne 1 : 2 Entrez un nombre entier pour la rangée 1 et la colonne 0 : 3 Entrez un nombre entier pour la rangée 1 et la colonne 1 : 4 La matrice originale est :1 23 4 La matrice transposée est :1 32 4


Ici le tableau est à deux dimensions. On utilise aussi des boucles for pour le parcours. Ces boucles sont imbriquées (pour chaque n° de ligne i, on doit parcourir tous les n° de colonnes j). La transposition se fait simplement en tenant compte du fait qu'un élément à la position [i][j] dans la matrice initiale se trouvera à la position [j][i] dans la transposée de cette matrice. Remarquez également que les portions de code relatives à l'affichage des deux matrices sont quasi-identiques: seul le nom de la matrice change. Nous verrons au cours prochain comment il est possible de ne coder qu'une fois dans le programme ces lignes de codes.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import java.util.Scanner;class Transposer { private static Scanner scanner = new Scanner(System.in); public static void main(String args[]) { System.out.print(" Donnez la dimension de la matrice: "); int size = scanner.nextInt(); // Déclaration-construction de la matrice à transposer int[][] mat = new int[size][size]; // Déclaration-construction de la matrice transposée (résultat) int[][] tam = new int[size][size]; // Lire les valeurs de la matrice. Chaque valeur est écrite // dans la matrice originale et à la position correspondante // dans la matrice transposée for (int row = 0; row size; row++) { for (int col = 0; col size; col++) { System.out.print(" Entrez un nombre entier " + "pour la rangée " + row + " et la colonne " + col + " : "); mat[row][col] = scanner.nextInt(); tam [col][row] = mat [row][col]; } } // Affichage de la matrice originale System.out.println(" La matrice originale est : "); for (int row = 0; row size; row++) { for (int col = 0; col size; col++) { System.out.print(mat[row][col] + " "); } System.out.println(); } // Affichage de la matrice transposée System.out.println(" La matrice transposée est : "); for (int row = 0; row size; row++) { for (int col = 0; (col size); col++) { System.out.print(tam[row][col] + " "); } System.out.println(); } } }
Article publié le 17 Août 2010 Mise à jour le Lundi, 31 Août 2020 18:06 par Salim KHALIL