Multiplication de deux matrices en c

Soyez le premier à donner votre avis sur cette source.

Snippet vu 51 524 fois - Téléchargée 34 fois

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

Ajouter un commentaire

Commentaires

cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2 -
J'ai bien ton programme.
Mais tu pourait creer une fonction qui rentre les matrices,
cela t'eviterait de toujours faire les boucles 'for'.
Mais ici c'est pa grave, tu en as que deux !
Funto66
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3 -
Sympa ton programme, ça pourra peut-être me servir avec les matrices d'OpenGL.
cs_kelsey
Messages postés
35
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
11 décembre 2004
-
Merci! ;)
moi j'y connais rien en OpenGL!
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
et moi rien aux matrices. on m'explique l'usage? :-)
cs_kelsey
Messages postés
35
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
11 décembre 2004
-
Les matrices sont utiliseés comme methode de calcul ( en algébre linéaires par exemple pour les maths ou en mecanique pour les calculs vectoriels ou de torseurs..) c'est utiles et quand on a compris le truc simple voir même amusant!! ( faut aimer les maths aussi!)
;p

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.