Multiplication de deux matrices en c

Contenu du snippet

Ce code en permet a l'utilisateur de remplir deux matrices de taille désirée et affiche le résultat. Simple mais ca marche!

Source / Exemple :


#include <conio.h>
#include <stdio.h>
void main()
{
	int i,j,k;
	int N,M,P;
	int mat[30][30],mat1[30][30],mat2[30][30];

	printf ("Donner le nombre de lignes de la premiere matrice : ");
        flushall(); scanf ("%d",&N);
	printf ("\nDonner la dimension commune aux 2 matrices : ");
	scanf ("%d",&M);
	printf ("\nDonner le nombre de colonnes de la deuxieme matrice : ");
	scanf ("%d",&P);

//Remplissage de la premiere matrice--------------------------------------------

	printf ("\nDonner les elements de la premiere matrice :\n");
	for (i=0;i<N;i++)
	{
		for (j=0;j<M;j++)
			{
			printf ("ligne %d, colonne %d : ",i+1,j+1);
			scanf ("%d",&mat1[i][j]);
			}
	}

//Remplissage de la seconde matrice---------------------------------------------

	printf ("\nDonner les elements de la seconde matrice :\n");
	for (i=0;i<M;i++)
	{
		for (j=0;j<P;j++)
			{
			printf ("ligne %d, colonne %d : ",i+1,j+1);
			scanf ("%d",&mat2[i][j]);
			}
	}

//Initialisation de la matrice résultante---------------------------------------

	for (i=0;i<N;i++)
	{
		for (j=0;j<P;j++)
			{
				mat[i][j]=0;
			}
	}
//Calcul de la matrice résultante-----------------------------------------------
	for (i=0;i<N;i++)
	{
		for (j=0;j<P;j++)
		{
			for (k=0;k<M;k++)
			{
				mat[i][j]=mat1[i][k]*mat2[k][j]+mat[i][j];
			}
		}
	}

//Affichage de la matrice résultante--------------------------------------------

	printf ("\nProduit matriciel :\n");
	for (i=0;i<N;i++)
	{
		for (j=0;j<P;j++)
			{
				printf ("ligne %d,colonne %d : ",i+1,j+1);
				printf ("%d\n",mat[i][j]);
			}
	}
	getch();
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.