Binjour j'ai le programme suivant pour calculer le produit matriciel j'arrive pas à trouver mon erreur merci bien
Code HTML:#include <stdio.h> #define TMAX 20 int main() { void encode(float *,int *,int *); void multiplication(float *,float *,float *,int,int,int,int,int *,int *); void affiche(float *,int,int); float a[TMAX][TMAX],b[TMAX][TMAX],c[TMAX][TMAX]; int nla,nca,nlb,ncb,nlc,ncc; printf("Encodage de la 1ere matrice\n"); encode(&a[0][0],&nla,&nca); printf("Encodage de la 2eme matrice\n"); encode(&b[0][0],&nlb,&ncb); if(nca==nlb) { multiplication(&a[0][0],&b[0][0],&c[0][0],nla,nca,nlb,ncb,&nlc,&ncc); affiche(&c[0][0],nlc,ncc); } else printf("Multiplication impossible !"); return 0; } void encode(float *adtab,int *adnl,int *adnc) { int i,j; printf("Entrez le nombre de lignes : "); scanf("%d",adnl); printf("Entrez le nombre de colonnes : "); scanf("%d",adnc); for(i=0;i<*adnl;i++) for(j=0;j<*adnc;j++) { printf("Entrez l'element %d %d : ",i+1,j+1); scanf("%f",adtab+j+i*TMAX); } } void multiplication(float *ada,float *adb,float *adc,int nla,int nca,int nlb,int ncb,int *adnlc,int *adncc) { int i,j,k; *adnlc=nla; *adncc=ncb; for(i=0;i<nla;i++) for(j=0;j<ncb;j++) { *(adc+j+i*TMAX)=0; for(k=0;k<nca;k++) *(adc+j+i*TMAX)+=*(ada+k+i*TMAX)**(adb+j+k*TMAX); } } void affiche(float *adtab,int nl,int nc) { int i,j; for(i=0;i<nl;i++) { for(j=0;j<nc;j++) printf("%7.2f",*(adtab+j+i*TMAX)); printf("\n"); } }
-----