fork(2) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <omp.h>
  4.  
  5. #define N 10000
  6.  
  7. int main() {
  8. int arr[N], i, j, min, temp;
  9.  
  10. // Initialize array
  11. for (i = 0; i < N; i++) {
  12. arr[i] = rand() % 100000; // increased the range of randomly generated number just to get a proper output
  13. }
  14.  
  15. #pragma omp parallel shared(arr)
  16. {
  17. #pragma omp for schedule(dynamic)
  18. for (i = 0; i < N-1; i++) {
  19. min = i;
  20.  
  21. // Find the minimum
  22. for (j = i+1; j < N; j++) {
  23. if (arr[j] < arr[min]) {
  24. min = j;
  25. }
  26. }
  27.  
  28. // Swap the minimum
  29. temp = arr[i];
  30. arr[i] = arr[min];
  31. arr[min] = temp;
  32. }
  33. }
  34.  
  35. printf("Sorted first 50 elements: ");
  36. for (i = 0; i < 50; i++) {
  37. printf("%d ", arr[i]);
  38. }
  39.  
  40. printf("\n");
  41.  
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0.04s 5472KB
stdin
Standard input is empty
stdout
Sorted first 50 elements: 4 10 30 34 44 64 77 81 93 96 113 117 131 154 161 178 202 213 216 224 237 253 255 257 260 272 279 305 308 313 321 323 335 345 346 352 361 406 443 469 474 486 487 514 536 545 549 553 569 573