/* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Fevrier 2005 */ import java.io.*; public class AffichageMatrice { static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in)); /* Fonction d'affichage d'une matrice d'entiers */ /* m : tableau d'entiers a afficher */ public static void affichageMatrice(int [][] m) { for ( int i = 0 ; i < m.length ; i++ ) { /* Pour toute les lignes de la matrice a afficher */ for ( int j = 0 ; j < m[0].length ; j++ ) { /* Affichage d'un entier de la ligne i */ /* (sans aller a la ligne */ System.out.print(m[i][j]+" "); } /* On va a la ligne quand tous les entiers d'une ligne */ /* ont ete affiches */ System.out.println(); } } /* Fonction de creation d'une chaine de caracteres */ /* representant un nombre justifie a droite complemente */ /* par des espaces */ /* v : entier a formater */ /* larg : nombre de caracteres de la chaine resultat */ /* Resultat fonction : Chaine de caracteres */ public static String justifieADroite(int v,int larg) { /* Definition et initialisation de la chaine */ /* avec l'entier a formater */ String s = ""+v; /* Ajout a gauche a la chaine d'autant de caracteres */ /* espace qu'il le faut pour que sa longueur devienne */ /* superieure ou egale a la largeur recherchee */ while ( s.length() < larg ) s = " "+s; /* Resultat de la fonction */ return(s); } /* Fonction d'affichage d'une matrice d'entiers */ /* m : tableau d'entiers a afficher */ /* larg : largeur de chaque colonne */ public static void affichageMatrice(int [][] m,int larg) { for ( int i = 0 ; i < m.length ; i++ ) { /* Pour toute les lignes de la matrice a afficher */ for ( int j = 0 ; j < m[0].length ; j++ ) { /* Affichage d'un entier de la ligne i */ /* (sans aller a la ligne */ System.out.print(justifieADroite(m[i][j],larg+1)); } /* On va a la ligne quand tous les entiers d'une ligne */ /* ont ete affiches */ System.out.println(); } } /* Fonction de remplissage d'une matrice d'entiers */ /* par lecture au clavier */ /* m : tableau d'entiers a remplir */ public static void remplissageMatrice(int [][] m) throws IOException { for ( int i = 0 ; i < m.length ; i++ ) for ( int j = 0 ; j < m[0].length ; j++ ) { System.out.print("Valeur d'indice "+i+" "+j+" : "); m[i][j] = Integer.valueOf(flux.readLine()).intValue(); } } /* Fonction principale */ public static void main(String [] args) throws IOException { /* Lecture au clavier du nombre de lignes */ /* et du nombre de colonnes de la matrice */ System.out.print("Combien de lignes : "); int l = Integer.valueOf(flux.readLine()).intValue(); System.out.print("Combien de colones : "); int c = Integer.valueOf(flux.readLine()).intValue(); /* Creation d'une matrice de l sur c entiers */ int [][] m = new int[l][c]; /* Remplissage */ remplissageMatrice(m); /* Affichage du resultat du remplissage */ System.out.print("La matrice est"); affichageMatrice(m); /* Affichage du resultat du remplissage */ System.out.print("La matrice avec affichage formate est"); affichageMatrice(m,5); } }