#include #include #include #define N 20 #define NTHREADS 4 int main(int argc, char** argv) { int a[N], b[N], x; omp_set_num_threads(NTHREADS); a[0] = b[0] = 0; for (int i = 1; i < N; i++) { a[i] = (i % (N/2)); b[i] = a[i] + i % 3; } x = 0; // TODO: // 1) identify and classify dependencies // 2) parallelize the loop. for (int i = 1; i < N; i++) { if (a[i] == b[i] && a[i] > a[x]) { x = i; } } // print contents for (int i = 0; i < N; i++) { printf("a[%d]=%d b[%d]=%d\n", i, a[i], i, b[i]); } printf("x=%d\n", x); return 0; }