2d Tableau en java

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

7 réponses

  1. Modérateur
    Ce n'est pas à moi de faire tes exercices, tu as déjà largement eu les "éléments de réponse" que tu cherchais !
    1. 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
      1. Modérateur
        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);
        1. 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]
          1. Modérateur
            "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
            1. 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
              1. Modérateur
                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]...