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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 500
typedef int matrice [SIZE][SIZE];
int nb, i , j, k;
int* matrice_A;
int* vecteur;
int* matrice_res;
// Allocations
matrice_A = (int*) malloc(SIZE*SIZE*sizeof(int)) ;
vecteur = (int*) malloc(j*SIZE*sizeof(int)) ;
matrice_res = (int*) malloc(SIZE*SIZE*sizeof(int)) ;
for(i = 0; i < SIZE; i++) {
for(j = 0; j < SIZE; j++) {
matrice_A[i*SIZE + j] = (int)rand()/(int)RAND_MAX;
vecteur [i*SIZE ] = (int)rand()/(int)RAND_MAX;
}
}
void remplissage_matrice (matrice matrice_A , int n)
{
int i ;
int j ;
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
matrice_A[i][j]=(rand()%10);
}
}
void afficher_matrice (matrice matrice_A , int n)
{
int i ;
int j ;
printf("affichage de matrice \n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%d ",matrice_A[i][j]);
printf("\n");
}
}
void remplissage_vecteur (int vecteur[] , int n)
{
int i ;
for (i=0; i<n; i++)
{
vecteur[i]=(rand()%10);
}
}
void afficher_vecteur (int vecteur[] , int n)
{
int i ;
printf("\n====>affichage de vecteur<=== \n");
for (i=0; i<n; i++)
{
printf("%d", vecteur[i]);
printf("\n");
}
}
void produit ( matrice matrice_A ,int vecteur[], int n)
{
int z ;
int x ;
matrice p;
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{ p[i][j]=0;
p[i][j]+=matrice_A[i][j]*vecteur[j];
}
}
printf("affichage de produit de matrice par vecteur \n");
for (z=0; z<n; z++)
{
for (x=0; x<n; x++)
printf("%d ",p[z][x]);
printf("\n");
}
}
int main(void)
{
int n=SIZE;
matrice A; /* matrice donnée */
int v[n] ; /* vecteur donné */
remplissage_matrice(A,n);
remplissage_vecteur(v,n);
afficher_matrice(A,n);
afficher_vecteur(v,n);
int timer=0;
produit(A,v,n);
timer=clock();
printf("temp d'exectuion = %d ms \n",timer);
} |
Partager