Posez votre question Signaler

Matrice carree c++

jacinthe87 199Messages postés 4 février 2009Date d'inscription 15 juillet 2010Dernière intervention - Dernière réponse le 17 jun 2009 à 08:53
Bonjour,
SVP comment initialer une matrice carree dans un constructeur
template <class T>
       Matrix<T>::Matrix(int d):dim(d){
                             matri=new T[dim][dim];  //erreur
                             }

??
Lire la suite 

Matrice carree c++ »

4 réponses
Réponse
+0
moins plus
Ah la programmation objet je vous envoi un lien vers mon site.
Avez vous reçu mon Message privé?
Ajouter un commentaire
Réponse
+0
moins plus
Merci pour le lien, j'a corrigé l'erreur:
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
Ajouter un commentaire
Réponse
+0
moins plus
#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.

Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « matrice carree c++ » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook