1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| //Ajout des biblio
#include "stdafx.h"
#include<malloc.h>
#include<conio.h>
// prototype des fonction
void lec(int*,int);
void aff(int*,int);
void pro(int*,int);
void som(int*,int);
//partie declaration global
int i,j,N,*R,*M,k,*U;
//programme principale
void main()
{
printf("Donner la taille de votre matrice carrer svp : ");
scanf("%d",&N);
U=(int*)malloc(N*N*sizeof(int));
printf("Entrer les element de la matrice A\n");
lec(U,N);
printf("Entrer les element de la matrice B\n");
M=(int*)malloc(N*N*sizeof(int));
lec(M,N);
R=(int*)malloc(N*N*sizeof(int));
pro(M,N);
printf("Entrer les element de la matrice C\n");
lec(M,N);
som(M,N);
aff(R,N);
free(M);
free(U);
free(R);
getch();
}
//fonction Lecture
void lec(int*L,int)
{
for (i=0;i<N;i++)
for (j=0;j<N;j++)
{
printf("Donner l'element %d.%d : ",i+1,j+1);
scanf("%d",&L[i*N+j]);
}
}
//Fonction produit
void pro(int*P,int)
{
for (i=0;i<N;i++)
for (j=0;j<N;j++)
{
R[i*N+j]=0;
for(k=0;k<N;k++)
R[i*N+j]=R[i*N+j]+U[i*N+k]*P[k*N+j];
}
}
//Fonction somme
void som(int*S,int)
{
for (i=0;i<N;i++)
for (j=0;j<N;j++)
R[i*N+j]=R[i*N+j]+S[i*N+j];
}
//Fonction affichage
void aff(int*A,int)
{
for (i=0;i<N;i++)
{
for (j=0;j<N;j++)
printf("%3d",A[i*N+j]);
printf("\n");
}
} |
Partager