2d Tableau en java

Fermé
kk_tag Messages postés 4 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 6 novembre 2012 - 4 nov. 2012 à 17:48
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 6 nov. 2012 à 08:35
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

A voir également:

7 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
4 nov. 2012 à 17:53
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]...
0
kk_tag Messages postés 4 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 6 novembre 2012
5 nov. 2012 à 13:58
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
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié par KX le 5/11/2012 à 15:09
"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
0
kk_tag Messages postés 4 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 6 novembre 2012
5 nov. 2012 à 15:42
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]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 nov. 2012 à 16:00
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);
0
kk_tag Messages postés 4 Date d'inscription dimanche 4 novembre 2012 Statut Membre Dernière intervention 6 novembre 2012
6 nov. 2012 à 05:01
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
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
6 nov. 2012 à 08:35
Ce n'est pas à moi de faire tes exercices, tu as déjà largement eu les "éléments de réponse" que tu cherchais !
0