Exercice langage C corrigé multiplication d’une matrice par un réel

a) Le résultat de la multiplication sera mémorisé dans une deuxième matrice A qui sera ensuite affichée.

#include <stdio.h>
main()
{
 /* Déclarations */
 float A[50][50]; /* matrice donnée   */
 float B[50][50]; /* matrice résultat */
 int N, M;        /* dimensions des matrices */
 int I, J;        /* indices courants */
 float X;         /* multiplicateur   */
 /* Saisie des données */
 printf("Nombre de lignes   (max.50) : ");
 scanf("%d", &N );
 printf("Nombre de colonnes (max.50) : ");
 scanf("%d", &M );
 for (I=0; I<N; I++)
    for (J=0; J<M; J++)
        {
         printf("Elément[%d][%d] : ",I,J);
         scanf("%f", &A[I][J]);
        }
 printf("Multiplicateur X : ");
 scanf("%f", &X );
 /* Affichage de la matrice */
 printf("Matrice donnée :\n");
 for (I=0; I<N; I++)
    {
     for (J=0; J<M; J++)
          printf("%10.2f", A[I][J]);
     printf("\n");
    }
 /* Affectation du résultat de la multiplication à B */
 for (I=0; I<N; I++)
     for (J=0; J<M; J++)
          B[I][J] = X*A[I][J];
  /* Edition du résultat */
 printf("Matrice résultat :\n");
 for (I=0; I<N; I++)
    {
     for (J=0; J<M; J++)
          printf("%10.2f", B[I][J]);
     printf("\n");
    }
 return 0;
}

b) Les éléments de la matrice A seront multipliés par X.

#include <stdio.h>
main()
{
 /* Déclarations */
 float A[50][50]; /* matrice donnée    */
 int N, M;        /* dimensions de la matrice */
 int I, J;        /* indices courants */
 float X;         /* multiplicateur   */

 /* Saisie des données */
 printf("Nombre de lignes   (max.50) : ");
 scanf("%d", &N );
 printf("Nombre de colonnes (max.50) : ");
 scanf("%d", &M );
 for (I=0; I<N; I++)
    for (J=0; J<M; J++)
        {
         printf("Elément[%d][%d] : ",I,J);
         scanf("%f", &A[I][J]);
        }
 printf("Multiplicateur X : ");
 scanf("%f", &X);
 /* Affichage de la matrice */
 printf("Matrice donnée :\n");
 for (I=0; I<N; I++)
    {
     for (J=0; J<M; J++)
          printf("%10.2f", A[I][J]);
     printf("\n");
    }
 /* Multiplication des éléments de A par X */
 for (I=0; I<N; I++)
     for (J=0; J<M; J++)
          A[I][J] *= X;
  /* Edition du résultat */
 printf("Matrice résultat :\n");
 for (I=0; I<N; I++)
    {
     for (J=0; J<M; J++)
          printf("%10.2f", A[I][J]);
     printf("\n");
    }
 return 0;
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *