Vous êtes sur la page 1sur 2

Le programme ci-dessous fait la multiplication d’une matrice (mat) avec un vecteur (vec).

La taille
de la matrice et du vecteur est fixé à N (4), et pour l’exemple nous avons prit la matrice carrée
suivante :
3 5 7 0
3 1 7 1
9 9 10 5
3 7 6 5

Et le vecteur : ( 4, 3, 6, 4 )

#include <stdio.h>

#define N 4

void multiplication (int mat[][N], int vec[], int res[])


{
int i, j;
for (i = 0; i < N; i++)
{
res[i] = 0;
for (j = 0; j < N; j++)
{
res[i] += mat[i][j] * vec[j];
}
}
}

void afficheVecteur (int vec[])


{
printf ("( ");
for (int i = 0; i < N; i++)
{
printf ("%d ", vec[i]);
}
printf (")\n");
}

void afficheMatrice (int mat[][N])


{
for (int i = 0; i < N; i++)
{
printf ("|");
for (int j = 0; j < N; j++)
{
printf ("%d ", mat[i][j]);
}
printf ("|\n");
}
}

MOMONZO MUSONGI Zénas 1


int main ()
{
int mat[N][N] = {{3,5,7,0}, {3,1,7,1}, {9,9,10,5}, {3,7,6,5} };
int vec[] = { 4, 3, 6, 4 };
int res[N];

multiplication (mat, vec, res);


printf ("Soit la matrice : \n");
afficheMatrice (mat);

printf ("Et le vecteur : \n");


afficheVecteur (vec);

printf ("\nLE RESULTAT DE LA MULTIPLICATION EST : \n");


afficheVecteur (res);

return 0;
}

Le résultat après exécution :

Avec une complexité : O(n2), avec n : taille de la matrice (et du vecteur).

MOMONZO MUSONGI Zénas 2

Vous aimerez peut-être aussi