diable007
Messages postés21Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention12 mai 2008
-
1 oct. 2007 à 21:15
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 2010
-
2 oct. 2007 à 12:38
bonjour, j'ai besoin de faire cette transformation à ma matrice:
exemple 011
010
101 devient
111
011
000
c'est à dire faire
baisser tout les zéro trouver dans la matrice.sachant que j'ai une methode hauteur() qui me donne l'hauteur de la matrice et une méthode largeur() qui me donne sa largeur.
merci d'avance.
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 2 oct. 2007 à 09:10
Hello!
islem1982> C'est normal que la colonne n'est pas changé car tous les zéros sont déjà "en bas"
diable007>Voici une solution, qui n'est pas du tout optimisé et qui suppose que tu n'aies que des zéros et des uns dans ta matrice:
- tu parcours toutes les colonnes de ta matrice
- pour chaque colonnes:
. tu parcours la colonne et tu compte le nombre de zéros
. une fois arrivé en bas, tu remontes en mettant un zéro dans la case courante.
. Quand ton compteur de zéros est nul, tu mets des 1 à la place
En espérant avoir été clair...
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 2 oct. 2007 à 12:38
Rotations de Givens pourraient être intéressantes (cf Wikipédia) si tu utilises des matrices quelconques, en plus c'est très stable numériquement (mais pas forcément très rapide en contrepartie).