Problem
Cette question manipule des tableaux unidimensionnels et bidimensionnels. Dans la partie (a), vous écrirez une méthode pour inverser les éléments d'un tableau unidimensionnel. Dans les parties (b) et (c), vous écrirez des méthodes pour inverser les éléments d'un tableau à deux dimensions.
(a) Considérez la classe ArrayUtil incomplète suivante, qui contient une méthode statique reverseArray.
Écrivez la méthode ArrayUtil reverseArray. Par exemple, si arr est le tableau {2,7,5,1,0}, l'appel à reverseArray change arr en {0,1,5,7,2}. Complétez la méthode reverseArray ci-dessous.
/** Inverse les éléments du tableau arr.
* Condition préalable : arr.length > ; 0.
* Postcondition : les éléments de arr ont été inversés.
* @param arr le tableau à manipuler
*/
public statique vide reverseArray(int[] arr)
b) Considérez la classe Matrix incomplète suivante, qui représente une matrice bidimensionnelle d'entiers. Supposons que la matrice contient au moins un entier.
Écrivez la méthode Matrix reverseAllRows. Cette méthode inverse les éléments de chaque ligne. Par exemple, si mat1 fait référence à un objet Matrix, l'appel mat1.reverseAllRows() modifiera la matrice comme indiqué ci-dessous.
En écrivant reverseAllRows, vous devez appeler la méthode reverseArray dans part(a). Supposons que reverseArray fonctionne correctement indépendamment de ce que vous avez écrit dans la partie (a). Complétez la méthode reverseAllRows ci-dessous.
/** Inverse les éléments de chaque rangée de tapis.
* Postcondition : les éléments de chaque ligne ont été inversés.
*/
public void reverseAllRows>()
c) Écrivez la méthode Matrix reverseMatrix. Cette méthode inverse les éléments d'une matrice de telle sorte que les éléments finaux de la matrice, lorsqu'ils sont lus dans l'ordre des lignes principales, sont les mêmes que les éléments d'origine lorsqu'ils sont lus du coin inférieur, de droite à gauche, en remontant. Encore une fois, laissez mat1 être une référence à un objet Matrix. L'appel mat1.reverseMatrix() modifiera la matrice comme indiqué ci-dessous.
En écrivant reverseMatrix, vous devez appeler la méthode reverseAllRows dans la partie (b). Supposons que reverseAllRows fonctionne correctement indépendamment de ce que vous avez écrit dans la partie (b). Complétez la méthode reverseMatrix ci-dessous.
/** Inverse les éléments de mat.
* Postcondition :
* - Les éléments finaux de mat, lorsqu'ils sont lus dans l'ordre des lignes majeures,
* sont les mêmes que les éléments originaux de mat lorsqu'ils sont lus
* du coin inférieur, de droite à gauche, en remontant.
* - mat[0][0] contient ce qui était à l'origine le dernier élément.
* - mat[mat.length-1][mat[0].length-1] contient ce qui était
* à l'origine le premier élément.
*/
public vide matrice inversée>()