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;
}