Matrice carree c++
Fermé
jacinthe87
Messages postés
194
Date d'inscription
mercredi 4 février 2009
Statut
Membre
Dernière intervention
15 juillet 2010
-
16 juin 2009 à 23:00
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 juin 2009 à 08:53
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 juin 2009 à 08:53
4 réponses
FlorianWebmastering
Messages postés
237
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
19 juin 2009
20
16 juin 2009 à 23:02
16 juin 2009 à 23:02
Ah la programmation objet je vous envoi un lien vers mon site.
Avez vous reçu mon Message privé?
Avez vous reçu mon Message privé?
jacinthe87
Messages postés
194
Date d'inscription
mercredi 4 février 2009
Statut
Membre
Dernière intervention
15 juillet 2010
3
16 juin 2009 à 23:28
16 juin 2009 à 23:28
Merci pour le lien, j'a corrigé l'erreur:
mais comment je dois le remplir?
comme ça :
template <class T> Matrix<T>::Matrix(int l,int c):li(l),cc(c){ matri=new T[li*cc]; }
mais comment je dois le remplir?
comme ça :
Matrice<int> m(3,3); m[0][0]=8; //erreur
FlorianWebmastering
Messages postés
237
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
19 juin 2009
20
17 juin 2009 à 08:01
17 juin 2009 à 08:01
#include <stdio> #include "matrice.h" using namespace std; int main(){ matrice A(3,3); cin>>A; cout<<A<<endl; ... return 0; }
demande à l'utilisateur d'entrer les valeurs pour la matrice carrée 3,3 et l'affiche.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 juin 2009 à 08:53
17 juin 2009 à 08:53
Tu peux surchargé l'opérateur []
T* Matrix::operator[](int i){return &matri[i*li];}
ou
T* Matrix::operator[](int i){return &matri[i*cc];}
selon la convention choisi pour représenté la matrice. L'inconvénient de cette méthode c'est que si la deuxième accolade dépasse la dimension, il n'y aura pas d'erreur mais un décalage de ligne ou de colonne.
Si tu veux, tu peux aller voir sur mon site, il y a une classe matrice tout en template aussi, avec toutes les méthodes qui vont bien.
T* Matrix::operator[](int i){return &matri[i*li];}
ou
T* Matrix::operator[](int i){return &matri[i*cc];}
selon la convention choisi pour représenté la matrice. L'inconvénient de cette méthode c'est que si la deuxième accolade dépasse la dimension, il n'y aura pas d'erreur mais un décalage de ligne ou de colonne.
Si tu veux, tu peux aller voir sur mon site, il y a une classe matrice tout en template aussi, avec toutes les méthodes qui vont bien.