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 77
|
#include <stdio.h>
#include <stdlib.h>
int ** allocM (int , int);
int ** addM (int **, int **,int **,int , int);
int ** scanM (int,int);
void showM(int **,int,int);
int main()
{
int lines,cols;
int **m1,**m2,**m3;
printf("-------------------------------------\n");
printf("lines ? :\n");
scanf("%d",&lines);
printf("\ncols ? :\n");
scanf("%d",&cols);
printf("-------------------------------------\n");
m1=allocM(lines,cols);
m2=allocM(lines,cols);
m3=allocM(lines,cols);
printf("-------------------------------------\n");
printf("scan premiere Matrice 1 :");
m1=scanM(lines,cols);
showM(m1,lines,cols);
printf("scan premiere Matrice 2 :");
m2=scanM(lines,cols);
printf("fin du scan !\a\n");
printf("-------------------------------------\n");
m3=addM(m1,m2,m3,lines,cols);
printf("Resultat de l'addition des deux matrices :) \n");
showM(m3,lines,cols);
return 0;
}
int ** allocM (int lines, int cols)
{
int i,j;
int** matrix = malloc(lines*sizeof(int *));
for (i=0;i<lines;i++)
matrix[i]= malloc(cols*sizeof(int));
for(i=0;i<lines;i++)
for(j=0;j<cols;j++)
matrix[i][j]=0;
return matrix;
}
int ** scanM (int lines,int cols)
{
int **m;
int i,j;
m=allocM(lines,cols);
for(i=0;i<lines;i++)
for(j=0;j<cols;j++)
{
printf("\nline %d col %d :",i,j);
scanf("%d",m[i][j]);
}
return m;
}
void showM(int **m,int lines,int cols)
{
int i,j;
for(i=0;i<lines;i++)
{
for(j=0;j<cols;j++)
printf("%d ",m[i][j]);
printf("\n");
}
}
int ** addM (int **ma, int **mb,int **MC,int lines,int cols)
{
int i,j;
for(i=0;i<lines;i++)
for(j=0;j<cols;j++)
MC[i][j]=ma[i][j]+mb[i][j];
return MC;
} |
Partager