Bonjour,
Ca fait plusieurs jours que je suis bloquée sur un problème...
Voila, j'ai une matrice remplie de 0, 1, 2, avec un seul 1 et un seul 2 par ligne.
Par exemple:
Mon algo est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 2 1 0 0 0 0 0 1 2 0 0 0 0 0 0 2 1 0 0 1 0 0 0 2 0 1 0 0 2 0
- Je regarde la 1ere ligne de A, je trouve les coordonnées non nulles
(1,1) et (1,2)
- Je veux qu'a la ligne suivante, (2,1) et (2,2) soient égaux,
mais si un des deux est différent de 0, je préfère avoir cette valeur plutot que 0.
J'obtiens:
- Je veux que pour toutes les lignes suivantes, (x,1) et (x,2) soient toujours égaux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 2 1 0 0 0 0 à la 1ère ligne 1 1 2 0 0 0 à la 2ème
- Je regarde la 2eme ligne, (2,1) (2,2) et (2,3) sont non nulles
(3,1) = (3,2) = (3,3) :
- Je regarde la 3eme ligne, (3,4) et (3,5) sont non nulles
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 2 1 0 0 0 0 à la 1ère ligne 1 1 2 0 0 0 à la 2ème 0 0 0 2 1 0 à la 3ème
(4,1) = (4,2) = (4,3) et (4,4) = (4,5) :
- Je regarde la 4eme ligne, (4,2) et (4,6) sont non nulles
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 2 1 0 0 0 0 1 1 2 0 0 0 0 0 0 2 1 0 1 1 1 0 0 2
(5,1) = (5,2) = (5,3) et (5,4) = (5,5) et (5,2) = (5,6) :
Matrice finale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 2 1 0 0 0 0 1 1 2 0 0 0 0 0 0 2 1 0 1 1 1 0 0 2 1 1 1 2 2 1
J'espère avoir été claire...
Je me perds avec mes boucles for et mes if alors si quelqu'un aurait une idée ou une solution, je suis prenante!
Merci!
Partager