Trouver les lignes non dominées d'une matrice
Salut ;
je cherche à récupérer toutes les lignes non dominantes d'une matrice.
par exemple j'ai une matrice (A ) tel que le nombre de ligne = 9 , le nombre de colonnes = 2 .
A = [[-1, 7], [ 3, 1], [ 2, -5], [ 7, 6], [0,1] ,[4,-1] ,[8,7] ,[-2,6] ,[4,6] ]. Les solutions qui on veut récupérées : [2 , -5] [0 , 1] [-2 , 6].
mais lorsque j'applique le programme en dessous je trouve [3 , 1] [2 , -5] [0 , 1] [-2 , 6].
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| double mat[][] = { { -1, 7},
{ 3, 1},
{ 2 , -5},
{7 ,6},
{4 ,-1},
{0, 1},
{8 , 7},
{-2 , 6},
{ 4 , 6 } };
double a=-1 ;
double a1 = 7 ;
for (int i = 0; i < mat.length ; i++) {
//for (int j = 0; j < 1; j++) {
int j=0;
if (((mat[i][j] < a && mat[i][j+1] > a1))|| ((mat[i][j] > a && mat[i][j+1] < a1)) || ((mat[i][j] < a && mat[i][j+1] < a1))) {
a = mat[i][j];
a1 = mat[i][j+1];
System.out.print("["+ a + " , "+ a1+"]");
}
}
} |