cpp: #include <stdio.h>\nint a[100][100];\nint b[100][100];\nint main()\n{\n  int i,j;\n#pragma omp parallel for default(none) shared(a) private(i,j)\n  for (i=0;i<100;i++)\n    for (j=0;j<100;j++)\n      a[i][j]=a[i][j]+1;\n\n#pragma omp parallel for default(shared) private(i,j)\n  for (i=0;i<100;i++)\n    for (j=0;j<100;j++)\n      b[i][j]=b[i][j]+1;\n\n  return 0;\n}\n\n
fortran: program DRB113_default_orig_no\n    use omp_lib\n    implicit none\n\n    integer len,i,j\n    integer, parameter :: dp = kind(1.0d0)\n    real(dp), dimension(:,:), allocatable :: a,b\n\n    len = 100\n\n    allocate (a(len, len))\n    allocate (b(len, len))\n\n    !$omp parallel do default(none) shared(a) private(i,j)\n    do i = 1, 100\n        do j = 1, 100\n            a(i,j) = a(i,j)+1\n        end do\n    end do\n    !$omp end parallel do\n\n    !$omp parallel do default(shared) private(i,j)\n    do i = 1, 100\n        do j = 1, 100\n            b(i,j) = b(i,j)+1\n        end do\n    end do\n    !$omp end parallel do\n\n    print*,a(50,50),b(50,50)\n\n    deallocate(a,b)\nend program