Kornferki
Messages postés17Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention 6 décembre 2004
-
16 juin 2004 à 14:44
cs_kabrel2
Messages postés1Date d'inscriptionmardi 22 mars 2011StatutMembreDernière intervention 6 avril 2011
-
6 avril 2011 à 22:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_kabrel2
Messages postés1Date d'inscriptionmardi 22 mars 2011StatutMembreDernière intervention 6 avril 2011 6 avril 2011 à 22:13
salut
j'ai pas un bon niveau en c++ ::alors:: personne peut me dire comment utiliser le code " svp c urgent"
je veux faire l'inverse d'une matrice" en nombre complexe "
Arcidiavolo
Messages postés1Date d'inscriptionmercredi 4 novembre 2009StatutMembreDernière intervention24 mars 2011 24 mars 2011 à 10:37
En fait pour la fonction reduction de matrice, il suffit de changer la ligne 125 de:
if(jsn-1)js++;
en
if(jsm-1)js++;
le m etant l'index de la colonne.
cs_snoopy77
Messages postés7Date d'inscriptionsamedi 31 mai 2003StatutMembreDernière intervention22 août 2009 22 août 2009 à 19:14
Bonjour,
Merci beaucoup pour le partage de cette source, quelques fonctions m'ont bien aidées dans l'un de mes projets. J'ai aussi une remarque a ajouter sur l'une des fonctions en plus de celles déjà données.
Donc faire simple voici un résumé des bugs dans la version courante :
1) Dans la fonction inverse:
>> Supprimer la ligne 197: libererMatrice(inv_A);
En effet la fonction est de type Matrice et donc dois renvoyer un element de ce type en l'occurence 'inv_A' qui viens d'être calculé.
2) Dans la fonction multiplication, le fait d'avoir l'étoile sans espace autour ne me pose pas de problème. A voir suivant le compilateur qui peut être peu confondre avec un pointeur en effet.
3) J'ai du ajouter des conditions dans la fonction de reduction de matrice " Matrice Mat_sousMat(Matrice A,int ib,int jb)" ligne 115. J'ai eu des problème en voulant retirer la derniére ligne/colonne.
J'ai pas le temps de refaire l'analogie avec le code de Bonac pour expliquer la correction (a confirmer quand même), cependant je vous fournis la version actuel de mon code (en anglais) avec lequel je n'ai pas de souci:
Matrix matrixReduc(Matrix A,int ib,int jb){
int i,j;
int is=0,js=0;
int n=A->n;
int k=A->k;
Matrix B;
didou4545
Messages postés2Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention30 avril 2009 30 avril 2009 à 14:43
Il y a une faute dans cette fonction
# Matrice Mat_invMat(Matrice A){/*renvoie la matrice inverse de A*/
# double det;
# Matrice coA,t_coA,inv_A;
# det=Mat_determinant(A);
# if(det==0)return NULL;
# coA=Mat_coMat(A);
# t_coA=Mat_transpose(coA);
# inv_A=Mat_mul(t_coA,1/det);
# libererMatrice(coA);
# libererMatrice(t_coA);
# libererMatrice(inv_A); // ici vous libérer la matrice " inv_A " puis vous la retourné tout de suite !!
# return inv_A;
# }
Gaston0510
Messages postés4Date d'inscriptionmercredi 30 janvier 2008StatutMembreDernière intervention10 décembre 2010 20 mars 2008 à 16:53
merci Bonac c un enorme travail !!
enfet c presque notr sujet mai seulement avec les bibliotheque stdio.h, string.h, conio.h ..
et dans mon projet on ns demande de faire un quadrillage double lor d l'affichage des matrices ..
Alors peut tu m'aider ou m montrer comment faire ce quadrillage ?
Amanobuo
Messages postés65Date d'inscriptionmardi 24 février 2004StatutMembreDernière intervention11 décembre 2006 2 avril 2007 à 23:31
Merci ! c'est exactement ce que je cherchais !
J'était frustre de pas y arriver pour la multiplications ! Mais je me suis trop embrouillé avec ces math !
regisbeg
Messages postés1Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention 9 novembre 2005 9 nov. 2005 à 18:23
Pour la multiplication, remplacer dans la fonction de multiplication des matrices C->P[i][j] += A->P[i][k] * B->P[k][j]; en mettant un espace de chaque coté de la multiplication sans quoi le compilateur considère B->P[k][j] comme un pointeur.
Byron202
Messages postés2Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention 6 juin 2005 6 juin 2005 à 16:30
Il suffit en fait de mettre le libererMatrice "APRES" le return detA.
En effet, dans le code, on libère la mémoire avant de retourner la valeur d'où le bug et donc le calcul du determinant déconne.
Byron202
Messages postés2Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention 6 juin 2005 6 juin 2005 à 09:54
Je confirme un bug dans la partie inversion de matrice.
Multiplication, j'ai pas encore vérifié.
zbigzo
Messages postés4Date d'inscriptionmercredi 19 janvier 2005StatutMembreDernière intervention19 février 2005 19 janv. 2005 à 18:06
c bien ce que t'as fai je te souhai 1 bon continuat°
Cyber_steph
Messages postés2Date d'inscriptionvendredi 30 juillet 2004StatutMembreDernière intervention30 juillet 2004 30 juil. 2004 à 10:59
bonjour,
j'ai voulut utiliser cette source mais apparement la multiplication et l'inverssion ne marche pas.
C bien dommage car ce code m'interessait bc.
bye
bonac
Messages postés5Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention25 novembre 2004 6 juil. 2004 à 16:04
J'ai pour abitude de travaillé à partir de l'indexe 0, mes boucles for s'arrètes à n-1. Il y a donc bien n valeur dans [0; n-1]. En d'autres termes pour une matrice n,m avec les paramètre n,m fournie en entrée les boucle parcourirons [0,n-1](n éléments) et [0,m-1] (m éléments), ont aura bine une matrice n,m.
Kornferki
Messages postés17Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention 6 décembre 2004 16 juin 2004 à 14:44
Je ne suis pas sur que la dimension des matrices soit vraiment de n et m. Si dans tes boucles tu vas de 0 a n ou m, les dimensions seraient plutot de n+1 a m+1, isnt it ???
Que se passe t il si ta matrice n est pas carree et que tu calcules le determinant ?
6 avril 2011 à 22:13
j'ai pas un bon niveau en c++ ::alors:: personne peut me dire comment utiliser le code " svp c urgent"
je veux faire l'inverse d'une matrice" en nombre complexe "
24 mars 2011 à 10:37
if(jsn-1)js++;
en
if(jsm-1)js++;
le m etant l'index de la colonne.
22 août 2009 à 19:14
Merci beaucoup pour le partage de cette source, quelques fonctions m'ont bien aidées dans l'un de mes projets. J'ai aussi une remarque a ajouter sur l'une des fonctions en plus de celles déjà données.
Donc faire simple voici un résumé des bugs dans la version courante :
1) Dans la fonction inverse:
>> Supprimer la ligne 197: libererMatrice(inv_A);
En effet la fonction est de type Matrice et donc dois renvoyer un element de ce type en l'occurence 'inv_A' qui viens d'être calculé.
2) Dans la fonction multiplication, le fait d'avoir l'étoile sans espace autour ne me pose pas de problème. A voir suivant le compilateur qui peut être peu confondre avec un pointeur en effet.
3) J'ai du ajouter des conditions dans la fonction de reduction de matrice " Matrice Mat_sousMat(Matrice A,int ib,int jb)" ligne 115. J'ai eu des problème en voulant retirer la derniére ligne/colonne.
J'ai pas le temps de refaire l'analogie avec le code de Bonac pour expliquer la correction (a confirmer quand même), cependant je vous fournis la version actuel de mon code (en anglais) avec lequel je n'ai pas de souci:
Matrix matrixReduc(Matrix A,int ib,int jb){
int i,j;
int is=0,js=0;
int n=A->n;
int k=A->k;
Matrix B;
B=createMatrix(n-1,k-1);
/* Extreme condition */
if(ib==A->n-1){n--;}
if(jb==A->k-1){k--;}
for(i=0;i<n;i++)
{
if(i==ib && ib!=k)
{
i++;
}
for(j=0;j<k;j++)
{
if(j==jb && jb!=n)
{
j++;
}
B->P[is][js]=A->P[i][j];
js++;
}
js=0;
is++;
}
return B;
}
Merci encore pour le code.
SnOoPy
30 avril 2009 à 14:43
20 mars 2008 à 16:53
enfet c presque notr sujet mai seulement avec les bibliotheque stdio.h, string.h, conio.h ..
et dans mon projet on ns demande de faire un quadrillage double lor d l'affichage des matrices ..
Alors peut tu m'aider ou m montrer comment faire ce quadrillage ?
2 avril 2007 à 23:31
J'était frustre de pas y arriver pour la multiplications ! Mais je me suis trop embrouillé avec ces math !
9 nov. 2005 à 18:23
6 juin 2005 à 16:30
En effet, dans le code, on libère la mémoire avant de retourner la valeur d'où le bug et donc le calcul du determinant déconne.
6 juin 2005 à 09:54
Multiplication, j'ai pas encore vérifié.
19 janv. 2005 à 18:06
30 juil. 2004 à 10:59
j'ai voulut utiliser cette source mais apparement la multiplication et l'inverssion ne marche pas.
C bien dommage car ce code m'interessait bc.
bye
6 juil. 2004 à 16:04
16 juin 2004 à 14:44
Que se passe t il si ta matrice n est pas carree et que tu calcules le determinant ?