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 :

Multiplication de matrices polynomiales


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut Multiplication de matrices polynomiales
    bonjour a tous voila mon probleme je suis en stage et je dois réaliser un programme multipliant deux matrices polynomiales
    je suis débutant en c++ voila mon travail pouvez vous m'aidé
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    #include <iostream>
    using namespace std;
     
    int N = 4;
    struct polynome
    {
    	int poly [N];
    };
    struct Matrice
    {
    	polynome mat [N][N];
    };
    Matrice principal(Matrice & M1, Matrice & M2)
    {
    	int n ;
    	int N ;
    	int n3 = 1 ;
    	int m3;
    	Matrice M3 ;
    	while(n3<=n)
    	{
    		 m3 = 1;
    		while(m3<=n)
    		{
    			n1 = 1 ;
    			n2 = 1 ;
    			while(m1<=n)
    			{
    				M3[n3,m3] = somme(M3[n3,m3],produit(M1[n3,m1],M2[n2,m3]));
    				m1++;
    				n2==;
    			}
    			m3++;
    		}
    		n3++;
    	}
    	return(M3)
    }
     
     
     
    polynome somme(polynome & P1,polynome & P2)
    {
    	n = 1;
    	polynome P3;
    	while(n<=N+1)
    	{
    		P3[n] = P1[n] + P2[n];
    		n++;
    	}
    	return(P3)
    }
     
    polynome produit(polynome & P1,polynome et P2)
    {
    	n = 1;
    	polynome P3;
    	while(n1<=N+1)
    	{
    		n2 = 1;
    		while(n2<=N+1)
    		{
    			n3 = (n1+n2-1);
    			P3[n3] = P3[n3] + (P1[n1]*P2[n2]);
    			n2++;
    		}
    	n1++;
    	}
    }
    [Balises CODE rajoutées et titre édité par Fiquet, merci d'y penser à l'avenir, et d'utiliser des titres explicites]

  2. #2
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    désolé je suis newb ici.
    merci a celui qui répondra.

  4. #4
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Commence par nous dire le problème déjà, là on a juste un boût de code et ? Sur quoi tu buttes exactement ? Il y a des erreurs ? Le calcul est faux ? Il faut donner un peu plus de détails...
    Fiquet
    - FAQ SDL
    - FAQ C++

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Je te propose de mieux expliciter le calcul de la corrélation en séparant ton code en modules plus élémentaires que tu pourras mieux tester et dont le comportement sera plus atomique -> facile à tester

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    voila mon probleme c'est que la compilation ne se fais pas erreur bien sur..
    et j'aimerai pouvoir testé chaque fonction mais je n'y connais rien en c++.
    si vous connaissez un programme type ca pourrai peut etre m'aidé je travaille de plus avec visual c++

  7. #7
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Oui bien sûr pour toi mais nous on peut pas deviner , il n'y pas que les erreurs de compilation qui existent malheureusement. Alors dis nous les erreurs que le compilateur te donne peut-être, ainsi qu'à quels lignes elles sont...
    Fiquet
    - FAQ SDL
    - FAQ C++

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    voila les erreurs du compilateur, apres l'algo est bon je pense .
    mon probleme est que je ne sais le traduire en c++

    1>Compiling...
    1>code.cpp
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(7) : error C2057: expected constant expression
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(7) : warning C4200: nonstandard extension used : zero-sized array in struct/union
    1> Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(11) : error C2057: expected constant expression
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(11) : error C2057: expected constant expression
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(11) : error C2087: 'mat' : missing subscript
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(11) : error C2233: 'mat' : arrays of objects containing zero-size arrays are illegal
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(11) : warning C4200: nonstandard extension used : zero-sized array in struct/union
    1> Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(25) : error C2065: 'n1' : undeclared identifier
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(26) : error C2065: 'n2' : undeclared identifier
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(27) : error C2065: 'm1' : undeclared identifier
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(27) : fatal error C1903: unable to recover from previous error(s); stopping compilation
    1>Build log was saved at "file://c:\Documents and Settings\VMARTINET.TESA-PRD\Mes documents\Visual Studio 2005\Projects\newone\newone\Debug\BuildLog.htm"
    1>newone - 9 error(s), 2 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    N n'est pas constant - première erreur indiquée -, il faut le déclarer constant, les tableaux à longueur variable n'existent pas en C++.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    mais ou je le déclare ?
    il me semblai l'avoir fait

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Je n'ai pas dit qu'il n'était pas déclaré, j'ai dit que tu ne l'avais pas déclaré comme constant.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    mince je suis trop bete, ca c'est changé. j'avais oublié le const

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    d'otre erreur désolé ..

    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(19) : error C2676: binary '[' : 'polynome' does not define this operator or a conversion to a type acceptable to the predefined operator
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(19) : error C2676: binary '[' : 'polynome' does not define this operator or a conversion to a type acceptable to the predefined operator
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(19) : error C2676: binary '[' : 'polynome' does not define this operator or a conversion to a type acceptable to the predefined operator
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(23) : error C2143: syntax error : missing ';' before '}'
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(25) : error C2146: syntax error : missing ',' before identifier 'P2'
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(27) : error C2065: 'n' : undeclared identifier
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(29) : error C2065: 'n1' : undeclared identifier
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(29) : fatal error C1903: unable to recover from previous error(s);

  14. #14
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Ca marche maintenant ? Si oui

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    ben non ca ne marche pas...
    je suis vraiment mauvais en c++

  16. #16
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    C'est quoi l'erreur maintenant ?

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    voila

    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(19) : error C2676: binary '[' : 'Polynome' does not define this operator or a conversion to a type acceptable to the predefined operator
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(19) : error C2676: binary '[' : 'Polynome' does not define this operator or a conversion to a type acceptable to the predefined operator
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(19) : error C2676: binary '[' : 'Polynome' does not define this operator or a conversion to a type acceptable to the predefined operator
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(25) : error C2146: syntax error : missing ',' before identifier 'P2'
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(32) : error C2065: 'n2' : undeclared identifier
    1>c:\documents and settings\vmartinet.tesa-prd\bureau\code.cpp(33) : fatal error C1903: unable to recover from previous error(s);

  18. #18
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Attention, pour accéder aux éléments de la matrice, il faut lui dire que tu veux accéder à la variable mat.

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 6
    Points
    6
    Par défaut
    désolé mais comment fait on ?

  20. #20
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu accédes à la variable mat de ton instance : instance.mat[i][j]

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Boost : multiplications de matrice 1000*1000 lentes
    Par bossonm dans le forum Boost
    Réponses: 20
    Dernier message: 12/08/2008, 18h21
  2. Multiplication de matrices
    Par Vince71 dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/04/2008, 15h57
  3. multiplication de matrices
    Par dev0077 dans le forum C++
    Réponses: 4
    Dernier message: 06/10/2007, 15h30
  4. Qt/OpenGL et multiplication de matrice
    Par MDiabolo dans le forum OpenGL
    Réponses: 6
    Dernier message: 30/03/2006, 11h08
  5. [LG]multiplication de matrices
    Par dreamdam dans le forum Langage
    Réponses: 11
    Dernier message: 17/07/2004, 11h02

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