#pragma hdrstop #include #include #include //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { int n = 10000; int p = 200; double **x = new double*[n]; for (int i = 0; i < n; i++){ x[i] = new double[p]; for (int j = 0; j < p ; j++) x[i][j] = (i*j) % 2; } double **mat = new double*[p]; for (int j = 0; j < p; j++) mat[j] = new double[p]; cout << "debut des calculs..." << endl; long t = GetTickCount(); int j1, j2; int nbOp = 0; /* for (int i = 0; i < n ; i++) for (j1 = 0; j1 < p ; j1++) for (j2 = 0; j2 < p ; j2++) { mat[j1][j2] = mat[j1][j2] + x[i][j1] * x[i][j2]; nbOp = nbOp + 1; } */ for (j1 = 0; j1 < p ; j1++) for (j2 = 0; j2 < p ; j2++) for (int i = 0; i < n ; i++) { mat[j1][j2] = mat[j1][j2] + x[i][j1] * x[i][j2]; nbOp = nbOp + 1; } t = GetTickCount() - t; cout << "... fin des calculs" << endl; cout << "Temps de calcul = " << t << " ms." << endl; cout << "Nombre operations = " << nbOp << endl; for (int j = 0; j < p ; j++) delete [] mat[j]; delete [] mat; for (int i = 0; i < n ; i++) delete [] x[i]; delete [] x; return 0; }