a) Le résultat de l’addition sera mémorisé dans une troisième matrice C qui sera ensuite affichée.
#include <stdio.h> main() { /* Déclarations */ int A[50][50]; /* matrice donnée */ int B[50][50]; /* matrice donnée */ int C[50][50]; /* matrice résultat */ int N, M; /* dimensions des matrices */ int I, J; /* indices courants */ /* Saisie des données */ printf("Nombre de lignes (max.50) : "); scanf("%d", &N ); printf("Nombre de colonnes (max.50) : "); scanf("%d", &M ); printf("*** Matrice A ***\n"); for (I=0; I<N; I++) for (J=0; J<M; J++) { printf("Elément[%d][%d] : ",I,J); scanf("%d", &A[I][J]); } printf("*** Matrice B ***\n"); for (I=0; I<N; I++) for (J=0; J<M; J++) { printf("Elément[%d][%d] : ",I,J); scanf("%d", &B[I][J]); } /* Affichage des matrices */ printf("Matrice donnée A :\n"); for (I=0; I<N; I++) { for (J=0; J<M; J++) printf("%7d", A[I][J]); printf("\n"); } printf("Matrice donnée B :\n"); for (I=0; I<N; I++) { for (J=0; J<M; J++) printf("%7d", B[I][J]); printf("\n"); } /* Affectation du résultat de l'addition à C */ for (I=0; I<N; I++) for (J=0; J<M; J++) C[I][J] = A[I][J]+B[I][J]; /* Edition du résultat */ printf("Matrice résultat C :\n"); for (I=0; I<N; I++) { for (J=0; J<M; J++) printf("%7d", C[I][J]); printf("\n"); } return 0;
b) La matrice B est ajoutée à A.
#include <stdio.h> main() { /* Déclarations */ int A[50][50]; /* matrice donnée et résultat */ int B[50][50]; /* matrice donnée */ int N, M; /* dimensions des matrices */ int I, J; /* indices courants */ /* Saisie des données */ printf("Nombre de lignes (max.50) : "); scanf("%d", &N ); printf("Nombre de colonnes (max.50) : "); scanf("%d", &M ); printf("*** Matrice A ***\n"); for (I=0; I<N; I++) for (J=0; J<M; J++) { printf("Elément[%d][%d] : ",I,J); scanf("%d", &A[I][J]); } printf("*** Matrice B ***\n"); for (I=0; I<N; I++) for (J=0; J<M; J++) { printf("Elément[%d][%d] : ",I,J); scanf("%d", &B[I][J]); } /* Affichage des matrices */ printf("Matrice donnée A :\n"); for (I=0; I<N; I++) { for (J=0; J<M; J++) printf("%7d", A[I][J]); printf("\n"); } printf("Matrice donnée B :\n"); for (I=0; I<N; I++) { for (J=0; J<M; J++) printf("%7d", B[I][J]); printf("\n"); } /* Addition de B à A */ for (I=0; I<N; I++) for (J=0; J<M; J++) A[I][J] += B[I][J]; /* Edition du résultat */ printf("Matrice résultat A :\n"); for (I=0; I<N; I++) { for (J=0; J<M; J++) printf("%7d", A[I][J]); printf("\n"); } return 0; }

Voici un exemple simple pour l’addition de deux matrices en langage C. Ce programme demande à l’utilisateur d’entrer les éléments de deux matrices de même dimension, puis il effectue l’addition et affiche la matrice résultante.
#define MAX 10
// Fonction pour entrer les éléments d’une matrice
void entrerMatrice(int matrice[MAX][MAX], int lignes, int colonnes) {
for (int i = 0; i < lignes; i++) {
for (int j = 0; j < colonnes; j++) {
printf(« Entrez l’élément de la matrice[%d][%d]: « , i + 1, j + 1);
scanf(« %d », &matrice[i][j]);
}
}
}
// Fonction pour afficher une matrice
void afficherMatrice(int matrice[MAX][MAX], int lignes, int colonnes) {
for (int i = 0; i < lignes; i++) {
for (int j = 0; j < colonnes; j++) {
printf(« %d « , matrice[i][j]);
}
printf(« \n »);
}
}
int main() {
int matrice1[MAX][MAX], matrice2[MAX][MAX], matriceResultat[MAX][MAX];
int lignes, colonnes;
// Demander la taille des matrices
printf(« Entrez le nombre de lignes: « );
scanf(« %d », &lignes);
printf(« Entrez le nombre de colonnes: « );
scanf(« %d », &colonnes);
// Entrer les deux matrices
printf(« \nEntrez les éléments de la première matrice:\n »);
entrerMatrice(matrice1, lignes, colonnes);
printf(« \nEntrez les éléments de la deuxième matrice:\n »);
entrerMatrice(matrice2, lignes, colonnes);
// Additionner les matrices
for (int i = 0; i < lignes; i++) {
for (int j = 0; j < colonnes; j++) {
matriceResultat[i][j] = matrice1[i][j] + matrice2[i][j];
}
}
// Afficher le résultat
printf(« \nMatrice résultante (addition des deux matrices):\n »);
afficherMatrice(matriceResultat, lignes, colonnes);
return 0;
}