Transposée d'une matrice# #include <stdio.h> #define N 3 #define M 2 int main() { int i, j; int A[N][M], T[M][N]; for(i=0; i<N; i++) { for(j=0; j<M; j++) { T[j][i] = A[i][j]; } } } Trace d'une matrice# #include <stdio.h> #define N 3 int main() { int i, j; int A[N][N]; int trace; trace=0; for(i=0; i<N; i++) { trace += A[i][i]; } } Somme de deux matrices# #include <stdio.h> int main() { int size, i, j, k; int A[MAX][MAX], B[MAX][MAX], C[MAX][MAX]; for(i=0; i<size; i++) { for(j=0; j<size; j++) { C[i][j] = 0; for(k=0; k<size; k++) { C[i][j] += A[i][k]*B[k][j]; } } } } Produit de Hadammard# #include <stdio.h> #include <stdlib.h> #define MAX 10 void HadamardMultiply(int *A, int *B) { int Res[MAX][MAX]; for(i=0; i<size; i++) { for(j=0; j<size; j++) { Res[i][j] = *(A+i+j) * (*(B+i+j)); } } } Produit de deux matrices# #include <stdio.h> int main() { int size, i, j, k; int A[MAX][MAX], B[MAX][MAX], C[MAX][MAX]; for(i=0; i<size; i++) { for(j=0; j<size; j++) { C[i][j] = A[i][j]+B[i][j]; } } #include <stdio.h> #include <stdlib.h> #define MAX 10 void HadamardMultiply(int *A, int *B) { int Res[MAX][MAX]; for(i=0; i<size; i++) { for(j=0; j<size; j++) { Res[i][j] = *(A+i+j) * (*(B+i+j)); } } } int main() { int size, i, j, k; int A[MAX][MAX], B[MAX][MAX], C[MAX][MAX]; printf("Enter the size of matrix: "); scanf("%d", &size); for(i=0; i<size; i++) { for(j=0; j<size; j++) { printf("A[%d][%d]=", i+1, j+1); scanf("%f", &A[i][j]); } } for(i=0; i<size; i++) { for(j=0; j<size; j++) { printf("B[%d][%d]=", i+1, j+1); scanf("%f", &B[i][j]); } } for(i=0; i<size; i++) { for(j=0; j<size; j++) { C[i][j] = 0; for(k=0; k<size; k++) { C[i][j] += A[i][k]*B[k][j]; } } } // Pour Fairouze for(i=0; i<size; i++) { for(j=0; j<size; j++) { C[i][j] = A[i,:]*B[:,j]; } } printf("Matrix C = A*B\n"); for(i=0; i<size; i++) { for(j=0; j<size; j++) { printf("%d\t", C[i][j]); } printf("\n"); } return 0; }