Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > OpenMP проблемка


Автор: крылья 11.6.2015, 09:01
Ребят почему при распараллеливании цикла  в private(i, n) указана переменная "i" ?
если я уберу "i"  у меня будет  private(n), то какая разница будет при выполнении уже??
 
Код
#include <stdio.h>
#include <omp.h>
int main(int argc, char *argv[])
{
 int A[10], B[10], C[10], i, n;
/* Заполним исходные массивы */
 for (i=0; i<10; i++){ A[i]=i; B[i]=2*i; C[i]=0; }
#pragma omp parallel shared(A, B, C) private(i, n)
 {
 /* Получим номер текущей нити */
 n=omp_get_thread_num();
#pragma omp for
 for (i=0; i<10; i++)
 {
 C[i]=A[i]+B[i];
 printf("Нить %d сложила элементы с номером %d\n",
 n, i);
 }
 }
} 


Модератор: не забываем пользоваться кнопочкой "Код"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)