Bonjour,
que tout le monde se rassure, je ne demande pas qu'on me fasse mes devoirs (manquerait plus que ça au prix que je paye).
Je suis dans la dernière ligne droite de mes cours et seul un devoir me pose soucis. Je vais essayer d'être clair et concis.
Il m'est demandé d'ajouter une fonction void determinant() const; à une classe Matrice. Jusque là pas de problème. Je dois pouvoir tester ma fonction avec le bout de code suivant :
Code :
- void initialise(Matrice &mat)
- {
- Matrice::Vecteurs& m(mat.elements);
- m.clear();
- m.insert(m.begin(),4,Matrice::Vecteur(4,0));
- mat.rows=mat.cols=4;
- m[0][0]=0;m[1][0]=1;m[2][0]=1;m[3][0]=2;
- m[0][0]=3;m[1][1]=2;m[2][1]=0;m[3][1]=1;
- m[0][0]=0;m[1][2]=1;m[2][2]=2;m[3][2]=4;
- m[0][0]=2;m[1][3]=3;m[2][3]=2;m[3][3]=0;
- }
- void main(void)
- {
- Matrice A;
- initialise(A);
- cout<<"A = "<<endl;
- A.affiche();
- cout<<"Det(A) = "<<A.determinant()<<endl;
- }
|
Pas franchement compliqué : il suffit de recopier... quoique, je me demande si la ligne mat.rows=mat.cols=4; ne serait pas en réalité m.rows=m.cols=4;. Peu importe, mon soucis n'est pas là.
En fait, dans l'intitulé du devoir, il est spécifié qu'il faut copier le fichier ~lia/serie-notee/prog3.cc qui est en fait le corrigé de l'exercice 2 de la série 14 et dont le sujet était justement la modélisation des matrices. Le hic (et j'en ai eu confirmation par le professeur) c'est que l'exercice 2 de la série 14 ne fait pas partie de mon programme. J'ai donc demandé à mon professeur de m'aider mais il ne veux rien entendre et pour lui c'est réalisable avec l'intitulé de l'exercice.
Je me suis alors acharné à essayer de reconstituer cette classe mais je peine à cette tache du fait de petites incompréhensions.
Par exemple, Matrice::Vecteurs& m(mat.elements); semble être une fonction statique qui prend pour paramètres mat.elements.
Oui mais quel est le type de cette données ?
Et puis qu'effectue réellement cette fonction ?
Je suppose que m.clear(); sert à faire une RAZ de la matrice.
Mais m.insert(m.begin(),4,Matrice::Vecteur(4,0));, qu'effectue réellement cette fonction ?
Et quels types de paramètres accepte t elle ?
Dans la lignée, mêmes interrogations pour m.begin() et que dire de Matrice::Vecteur(4,0) ?
J'arrête là parce que plus j'avance dans mes interrogations et plus je désespère de trouver des réponses.
J'espère simplement que quelqu'un pourra éclairer ma lanterne et me permettre ainsi d'effectuer ce devoir dont le sujet réel est, je le rappelle, la création d'une fonction calculant le déterminant.
Merci d'avance pour vos réponse.