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

Exercice langage C : Les Matrices

Ecrire un programme qui réalise la multiplication d'une matrice A par un réel X.

Rappel:

   
       /         \     /                 \
       | a b c d |     | X*a X*b X*c X*d |
   X * | e f g h |  =  | X*e X*f X*g X*h |
       | i j k l |     | X*i X*j X*k X*l |
       \         /     \                 /
a) Le résultat de la multiplication sera mémorisé dans une deuxième matrice A qui sera ensuite affichée.

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

 


 

Corrigé exercice langage C 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.

 

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
#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.

 

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