Produit matriciel

Résolu/Fermé
Duaam Messages postés 19 Date d'inscription vendredi 3 octobre 2014 Statut Membre Dernière intervention 31 janvier 2016 - 20 oct. 2014 à 16:22
Duaam Messages postés 19 Date d'inscription vendredi 3 octobre 2014 Statut Membre Dernière intervention 31 janvier 2016 - 20 oct. 2014 à 19:35
Bonjour,
Voici mon code source d'un programme qui calcul le produit matriciel de la même matrice M.
Ma matrice résultat C m'affiche que des 0s et j'arrive pas à détecter mon erreur
Merci d'avance

#include<stdio.h>
#include<stdlib.h>
//remplissage de la matrice manuellement //
void remplissage (int M[100][100],int n,int m)
{
int i,j;
printf("Entrez votre matrice :\n");
for(i=0;i<n;i++){
for (j=0;j<m;j++){
printf("M[%i][%i]=",i,j);
scanf("%f",&M[i][j]);
}}}
void prodmat(int M[100][100],int C [100][100], int n, int m)
{
int i,j,k;
for (i=0;i<=n;i++)
{
for (j=0;j<=m;j++)
{
C[i][j]=0;
for (k=0;k<m;k++)
{
C[i][j]+=M[i][k]*M[k][j];
}
}
}
}

void affichagem (int C[100][100],int n,int m)
{
int i, j;
for(i=0; i<n; i++) {
for(j=0; j<m; j++) {
printf("%i\t",C[i][j]);
}
printf("\n");
}
}
main()
{
int n,m,r; int M[100][100],C[100][100];
system("color 1D");
printf("donner les dimensions de votre matrice :\n");
printf("donner n=");
scanf("%i",&n);
printf("donner m=");
scanf("%i",&m);
remplissage(M,n,m);
prodmat(M,C,n,m);
affichagem(C,n,m);
system("pause");
return 0;
}

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
20 oct. 2014 à 19:31
Bonjour,
Attention dans ta fonction remplissage, tu as mis un %f dans ton scanf() au lieu d'un %d.


for (i=0;i<=n;i++)
{
for (j=0;j<=m;j++)

Attention aux limites. Tu as mis <= au lieu de <. Même remarque pour >=.

Cdlt
0
Duaam Messages postés 19 Date d'inscription vendredi 3 octobre 2014 Statut Membre Dernière intervention 31 janvier 2016
20 oct. 2014 à 19:35
Ohh!! , j'ai pas fait attention à ces erreurs :/
Merci bcq fiddy
Bonne soirée

--
0