#include #include int main() { int SIZE = 1000; double start, stop; int** A = new int* [SIZE]; int** B = new int* [SIZE]; int** C = new int* [SIZE]; int** BT = new int* [SIZE]; start = omp_get_wtime(); for (int i = 0;i < SIZE;i++) A[i] = new int[SIZE]; for (int i = 0;i < SIZE;i++) B[i] = new int[SIZE]; for (int i = 0;i < SIZE;i++) C[i] = new int[SIZE]; for (int i = 0;i < SIZE;i++) BT[i] = new int[SIZE]; for (int i = 0;i < SIZE;i++) { //tworzenie A for (int j = 0;j < SIZE;j++) A[i][j] = rand() % 10; } for (int i = 0;i < SIZE;i++) { //tworzenie B for (int j = 0;j < SIZE;j++) B[i][j] = rand() % 10; } for (int i = 0;i < SIZE;i++) { //transponowanie for (int j = 0;j < SIZE;j++) BT[i][j] = B[j][i]; } for (int i = 0;i < SIZE;i++) { //tworzenie C for (int j = 0;j < SIZE;j++) C[i][j] = 0; } for(int i = 0;i < SIZE;i++) { //mnozenie A i B for (int j = 0;j < SIZE;j++) { for (int k = 0;k < SIZE;k++) C[i][j] += A[i][k] * BT[j][k]; } } stop = omp_get_wtime(); std::cout << "Czas wykonania: " << stop - start << std::endl; return 0; }