IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

somme de deux matrice


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut somme de deux matrice
    Bojour,
    Je suis newbie sur ce forum et en C++, et j'aurais besoin de votre aide.
    je dois écrire un programme C++ qui somme deux matrice seulement ma fonction somme n'a pas l'air de fonctionner. il m'affiche a l'execution sans arrêt somme .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    matrice matrice::operator +(const matrice& B) const
    {        
    cout<<"Somme "<<endl;
    return(*this)+B;
     
    }
    merci

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    bonjour et bienvenue sur le forum

    Cette fonction se rappelle elle même indéfiniment .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    matrice matrice::operator +(const matrice& B) const
    {        
    cout<<"Somme "<<endl;
    return(*this)+B;// appele matrice::operator + =>retour au debut
     
    }
    c'est pour cela que ça ecrit Somme sans arrêt. Tu n'as pas codé la somme ici.

  3. #3
    Invité
    Invité(e)
    Par défaut
    merci mais comment est ce que je pourrais faire une somme de ces deux matrice.


    J'ai crée une classe matrice de cette facon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    class matrice
    {
    public:
     
    matrice(int snbl=1 , int snbc=1); //nbl lignes nbc colonnes
    ~matrice(void); //destructeur
    int nbl;
    int nbc;
     
    double&element_matrice(int l, int c) const;
     
    void affichage(const string&texte);
     
    matrice operator +(const matrice& B) const;
     
    protected:
    double *Mat;
    };

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Pour commencer, il te faudrait un créateur de recopie
    matrice(const & matrice) qui sera utilisé au retour de ta fonction

    Puis pour faire l'operation+ ,une solution serait de le faire en trois étapes

    1-tu créé un matrice temporaire aprés avoir vérifier que l'opération soit possible
    2- tu initialise le buffer par la somme éléments par éléments de this et le matrice en paramètre. Un boucle for
    3-tu retourne ce temporaire

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    un conseil,
    au lieux d'utiliser un tableau de type C : double *Mat;
    utilise plustôt un std::vector<double>, si tu peut. Tu auras moins de problème de gestion de mémoire
    Cherche sur le forum, tu trouvera pas mal d'info sur ton problème et sur l'utilisation de vector

Discussions similaires

  1. [XL-2007] somme entre deux matrice
    Par yasmina13 dans le forum Excel
    Réponses: 1
    Dernier message: 14/12/2009, 11h05
  2. Réponses: 2
    Dernier message: 11/12/2006, 19h46
  3. [Requete] Calcul Somme entre deux temps pour chaque jour
    Par nico33307 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/03/2006, 00h58
  4. La somme de deux champs en sql ss access, Cmt faire ?
    Par elhosni dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 11/01/2006, 23h00
  5. Interpolation entre deux matrices
    Par supergrey dans le forum DirectX
    Réponses: 2
    Dernier message: 31/12/2004, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo