2d Tableau en java
kk_tag
Messages postés
4
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
comment est ce que je peux comparer les éléments d'un 2d Array ?
par exemple array[1][2] avec array[1][3] et array[2][2] array[2][3]
array[3][2], array[3][3], array[4][2],array[4][3]...
s.v.p. toute élément de réponse me serai d'1 grande utilitee
merci
comment est ce que je peux comparer les éléments d'un 2d Array ?
par exemple array[1][2] avec array[1][3] et array[2][2] array[2][3]
array[3][2], array[3][3], array[4][2],array[4][3]...
s.v.p. toute élément de réponse me serai d'1 grande utilitee
merci
7 réponses
-
Je ne comprends pas trop ce que tu veux faire, on ne compare jamais les tableaux, mais toujours les cases. Donc comparer array[i1][j1] avec array[i2][j2] c'est pareil que comparer array[k1] avec array[k2]...
-
en fait ce sont les cases que je veux comparer; il est question de savoir si le contenu de toute les cases est le meme
-
"il est question de savoir si le contenu de toute les cases est le meme"
Dans ce cas, il n'est pas nécessaire de comparer les cases deux à deux, il suffit de les comparer à la première case :
/** * Compare les valeurs d'une matrice avec equals pour déterminer si toutes les cases sont identiques : matrix[i][j].equals(matrix[0][0]) * @param matrix une matrice de valeurs * @return true si toutes les cases de la matrice ont les mêmes valeurs, false si au moins une case est différente des autres * @throws NullPointerException si matrix==null, matrix[0]==null, ou matrix[0][0]==null * @throws ArrayIndexOutOfBoundsException si matrix.length==0 ou matrix[0].length==0 */ public static <E> boolean identiques(E[][] matrix) { E e0 = matrix[0][0]; for (E[] tab : matrix) for (E e : tab) if (!e0.equals(e)) return false; return true; }La confiance n'exclut pas le contrôle -
merci beaucoup pour cette réponse, mais elle ne resou pas le Problem:
j'ai un tableau x[10][48] par exemple: ce tableau represente 10 jours et 48 fois 30 Min; dans chaque case de ce tableau il y a la valeurs 0 ou 1.
il est question de prendre par exemple 12 cases des 48 qui se suivent et déterminer si dans ces 12 cases on a au moins une fois 1 pour tous les 10 jours. c'est a dire que de je veux savoir si de x[0][1] j'usqua x[0][11] il ya au moins une fois 1 en meme temps ci c'est valable pour tous x[1][1]... x[1][11] j'usqua x[9][1]...x[9][11] -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Effectivement, le problème est différent, mais ça reste assez simple...
/** @return true s'il y a au moins un 1 dans la colonne "col" */ public static boolean testColonne(int[][] matrix, int col) { for (int row=0; row<10; row++) if (matrix[col][row]>0) return true; return false; } /** @return true s'il y au moins un 1 dans chaque colonne */ public static boolean testMatrice(int[][] matrix) { for (int col=0; col<matrix.length; col++) if (!testColonne(matrix,col)) return false; return true; } // Dans ton exemple : boolean b = testMatrice(x); -
merci beaucoup pour la reponse mais il s'agit
/** @return true s'il y a au moins un 1 dans la ligne "col" */ ensuite
/** @return true s'il y au moins un 1 dans chaque ligne */
merci d'avance -
Ce n'est pas à moi de faire tes exercices, tu as déjà largement eu les "éléments de réponse" que tu cherchais !