Exercice Java corrigé transposition – tableaux

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.

import 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();
        }
    }                                                   
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *