Les fonctions

haikei00X Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous.
J'ai une fonction qui divise une matrice de dimension puissance de 2 en plusieurs blocs.Par exemple si j'applique cette fonction à une matrice de dimension 8,cette dernière donnera 4 blocs de dimension 4.
Le premier de coordonnées (i=0,j=0) le 2 ème (O,4) le 3ème (4,0) et le dernier (4,4) .
Cette fonction doit être appliquée sur chaque bloc tant que sa dimension n'a pas encore atteinte 2 . Ma fonction est de type void et elle a les arguments suivants
divise_mat( double M, int n, double M1, double M2 , double M3 , double M4 )
==>M c'est la matrice initiale , n sa dimension M1 M2 M3 et M4 sont les blocs générés.

Ma question est la suivante : Si après avoir appliqué cette fonction sur la matrice initiale , je l'applique ensuite sur M1, est-ce que les blocs M1 M2 M3 et M4 de la matrice initiale seront écrasés et remplacés par les sous blocs du bloc M1 ??

J'attends avec impatience votre réponse.

4 réponses

thomascre Messages postés 454 Date d'inscription   Statut Membre Dernière intervention   38
 
je ne pensse pas, si tu traite tout en méme temps avec des variable diferente (se qui est le cas) sa devrai theoriquement etre bon, apret il ya un bon moyen de savoir : les testes ;)
0
haikei00X Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   3
 
Mercii :)
0
Danelectro Messages postés 1737 Date d'inscription   Statut Membre Dernière intervention   371
 
Comme l'a dit thomascre tu testes.
Après tout dépend si tu passes tes paramètres par référence ou par valeur. Si tu veux que ta fonction modifie ta matrice de base il faut lui donner un pointeur.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ce n'est pas possible d'envoyer des références en argument (pointeur ou valeur).
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Ce n'est pas possible d'envoyer des matrices (tableau 2D) en paramètre d'une fonction. Tu envoies en fait un pointeur sur le premier élément.
Donc fatalement, toutes les valeurs modifiées dans les matrices sont répercutées dans la fonction appelante.
Donc pour répondre à ta question, oui ;-).

Cdlt,
0