Voici...
1) Je dois écrire une fonction appelée ¨clonage¨ qui permet de cloner un tableau d'entiers à deux dimensions. Cette fonction prend comme argument un tableau à deux dimensions et retourne un autre tableau d'entiers à deux dimensions. Et je dois soumettre l'algorithme de cette fonction.
2) Je dois écrire une fonction appelée ¨afficher¨ qui prend comme paramètre un tableau à deux dimensions et qui affiche tous ses éléments. Et je dois soumettre l'algorithme de cette fonction.
Voici ce que j'ai fais:
1)
Code : Tout sélectionner
public int[][] clonage(int[][] tab) {
// economie en factorisant le calcule des dimensions
int dim1 = tab.length;
int dim2 =tab[0].length;
int j; // évite de faire des déclaration de variable à tous les passage dans la première boucle
int[][] temp=new int[dim1][dim2];
for(int i=0;i<dim1;i++) {
for( j=0;j<dim2;j++) {
temp[i][j]=tab[i][j];
}
}
return temp;
}
2)
Code : Tout sélectionner
public void afficher (int[][] tab) {
// economie en factorisant le calcule des dimensions
int dim1 = tab.length;
int dim2 =tab[0].length;
StringBuffer sb = new StringBuffer(); /* Stringbuffer peut grandir en mémoire contrairement à String, qui recréé un nouvel objet en mémoire à chaque modification */
int j; // évite de faire des déclaration de variable à tous les passage dans la première boucle
int[][] temp=new int[dim1][dim2];
for(int i=0;i<dim1;i++) {
for( j=0;j<dim2;j++) {
sb.append(tab[i][j]+" ") // incrémente la valeur actuelle de sb
}
sb.append("\n") // ajoute le caractère saut de ligne.
}
System.out.println(sb.toString()); /* on n'affiche les résultats qu'à la fin donc on fait qu'un appel au système */
}
Merci