Скачиваний:
0
Добавлен:
27.12.2025
Размер:
750.26 Кб
Скачать

#pragma omp parallel sections num_threads(4)

{

#pragma omp section

{

for (int i = 0; i < size / 4; ++i) { for (int j = 0; j < size; ++j) {

result[i][j] = 0.0;

}

for (int k = 0; k < size; ++k) { for (int j = 0; j < size; ++j) {

result[i][j] += a[i][k] * b[k][j];

}

}

}

}

#pragma omp section

{

for (int i = size / 4; i < size / 2; ++i) { for (int j = 0; j < size; ++j) {

result[i][j] = 0.0;

}

for (int k = 0; k < size; ++k) { for (int j = 0; j < size; ++j) {

result[i][j] += a[i][k] * b[k][j];

}

}

}

}

#pragma omp section

{

21

for (int i = size / 2; i < 3 * size / 4; ++i) { for (int j = 0; j < size; ++j) {

result[i][j] = 0.0;

}

for (int k = 0; k < size; ++k) { for (int j = 0; j < size; ++j) {

result[i][j] += a[i][k] * b[k][j];

}

}

}

}

#pragma omp section

{

for (int i = 3 * size / 4; i < size; ++i) { for (int j = 0; j < size; ++j) {

result[i][j] = 0.0;

}

for (int k = 0; k < size; ++k) { for (int j = 0; j < size; ++j) {

result[i][j] += a[i][k] * b[k][j];

}

}

}

}

}

}

22

ПРИЛОЖЕНИЕ Б Блок-схемы алгоритмов программы

Блок-схема последовательного алгоритма умножения матриц

23

Блок-схема параллельного алгоритма (директива for)

24

Блок-схема параллельного алгоритма (директива sections)

25