Matrices

Fermé
imy21 Messages postés 3 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 11 mai 2009 - 2 mars 2008 à 14:34
naabster Messages postés 18 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 2 mars 2008 - 2 mars 2008 à 17:16
Bonjour,voila g un gros problem avec le c++builder5 je veux réaliser le produit de deux matrices sur ce dernier et je connue pas comment commer ni terminer.si quelqu'un peut m'aider svp fais le par ce que c'est un tp à rendre le jeudi prochin. merci pour votre attention.

2 réponses

switch01 Messages postés 53 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 9 juillet 2008 58
2 mars 2008 à 15:16
au pire tu fais l'opération toi même avec un bon vieux for...

M3[i][j]=0;
for(k=0;k<n;k++){
M3[i][j]+=M1[i][k]*M2[k][j];
}

ce code te calculera M3(i,j), résultat du produit matriciel de M1 et M2. par conséquent, le nombre de colonne de M1 doit être égale au nombre de ligne de M2, ce qui est normal. Pour le reste, il te suffit de faire un code qui incrémente i, qui le fait revenir a 0, et qui incrémente j puis qui recommence a incrémenter i.
Pour le reste, réfère toi a des cours d'MPSI, c'est assez bien expliqué. ou encore mieux, Wikipédia :
https://fr.wikipedia.org/wiki/Produit_matriciel
je suis qu'en terminale alors les matrices je connais pas non plus en détail donc pour un problème qui est plus d'ordre mathématique, je ne pourrais pas te répondre ...
voila ! en espérant avoir été assez clair,
bon courage !
switch01
0
naabster Messages postés 18 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 2 mars 2008 1
2 mars 2008 à 17:16
baaaaahhhh, le produi de 2 matrices c multiplier chaque ligne par chaque colonne.. c à d:

pour chaque ligne i de la patrice A on la multiplie par toutes les colonnes j de la matrice B.
n'oublie pa de sommer chaque produit pr créer l'element de la matrice C=A*B

voici l'algorithme en C++:
int som;

for(int i=0; i<=n;i++){ // boucle pour parcour les lignes de A
for(int h=0; h<=m;h++){ // boucle pour parcour les colonnes de B

som=0; // initialisation apres chaque calcule d'element.
for(int k=0; k<=l;k++){ // boucle pour parcour les colonnes de A et les lignes de B.

som=som+A[i][k]*B[k][h]; // c logique, la somme des produits des elements de chaque ligne et colonne..
}
C[i][h]=som; // remplissage de la matrice par ligne*colonne
}
}


et c fini, tester le et di moi,
j l'ai fai y a 3 ans, je m souvien, wéé lol..



alors là t'a t'a matrice C pleine, et tu peu affichier son contenue, c facile, pour verifier....


merci.


N
0