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
|
#include<iostream>
#include<vector>
#include<ctime>
using namespace std;
int main()
{
unsigned int N=10000;
double tab1[27][27],tab2[27][27];
for(int i=0;i<27;i++)
for(int j=0;j<27;j++)
tab1[i][j]=i+j+2.3;
double s=0.;
time_t debut_calcul, fin_calcul;
for(uint c=0;c<N;c++)
{
time(&debut_calcul);
for(int i=0;i<27;i++)
{
double aux=0.;
for(int j=0;j<27;j++)
{
for(int k=0;k<27;k++)
aux+=tab1[i][k]*tab1[k][j];
tab2[i][j]=aux;
}
}
time(&fin_calcul);
s+=difftime(fin_calcul,debut_calcul);
}
cout<<s/N<<endl;
vector<vector<double> > v1(27,vector<double>(27));
vector<vector<double> > v2(27,vector<double>(27));
for(int i=0;i<27;i++)
for(int j=0;j<27;j++)
v1[i][j]=i+j+2.3;
s=0.;
for(uint c=0;c<N;c++)
{
time(&debut_calcul);
for(int i=0;i<27;i++)
{
double aux=0.;
for(int j=0;j<27;j++)
{
for(int k=0;k<27;k++)
aux+=v1[i][k]*v1[k][j];
v2[i][j]=aux;
}
}
time(&fin_calcul);
s+=difftime(fin_calcul,debut_calcul);
}
cout<<s/N<<endl;
return 0;
} |