cpp: #include <stdio.h>\n\nint main(int argc,char *argv[])\n{\n  int i, j;\n  int len = 20; \n\n  double a[20][20];\n\n  for (i=0; i< len; i++)\n    for (j=0; j<len; j++)\n      a[i][j] = 0.5; \n\n#pragma omp parallel for private(j)\n  for (i = 0; i < len - 1; i += 1) {\n    for (j = 0; j < len ; j += 1) {\n      a[i][j] += a[i + 1][j];\n    }\n  }\n\n  printf ("a[10][10]=%f\n", a[10][10]);\n  return 0;\n}\n\n
fortran: program DRB003_antidep2_orig_yes\n    use omp_lib\n    implicit none\n\n    integer :: i, j, len\n    real :: a(20,20)\n\n    len = 20\n\n    do i = 1, len\n        do j = 1, len\n            a(i,j) = 0.5\n        end do\n    end do\n\n    !$omp parallel do private(j)\n    do i = 1, len-1\n        do j = 1, len\n            a(i,j) = a(i,j) + a(i+1,j)\n        end do\n    end do\n    !$omp end parallel do\n\n    write(*,*) 'a(10,10) =', a(10,10)\n\nend program