Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<pthread.h>
  4.  
  5. #define M 3
  6. #define N 3
  7.  
  8. int suma[M];
  9. int matrica[M][N];
  10.  
  11. void *zbrojRedaka(void *threadid)
  12. {
  13. long tid = (long)threadid;
  14. int i = 0;
  15.  
  16. for(i=0; i<M; i++)
  17. {
  18. suma[i] = suma[i] + matrica[i][tid];
  19. }
  20.  
  21. pthread_exit(NULL);
  22. }
  23.  
  24. int main(void)
  25. {
  26. int i,j;
  27. int s = 0;
  28. long t = 0;
  29. int rc;
  30. pthread_t threads[M];
  31.  
  32.  
  33. for(i=0; i<M; i++)
  34. {
  35. for(j=0; j<N; j++)
  36. {
  37. printf("mat[%d][%d] = \n",i,j);
  38. scanf("%d",&matrica[i][j]);
  39. }
  40. }
  41.  
  42. printf("Ispis!\n");
  43.  
  44. for(i=0; i<M; i++)
  45. {
  46. for(j=0; j<N; j++)
  47. {
  48. printf("matrica[%d][%d] = %d ",i,j,matrica[i][j]);
  49. printf("\n");
  50. }
  51. }
  52.  
  53. for(t=0; t<M; t++)
  54. {
  55. printf("Kreira se thread: %ld\n", t);
  56. rc = pthread_create(&threads[t],NULL,zbrojRedaka,(void*)t);
  57.  
  58. if(rc)
  59. {
  60. printf("Error thread[%ld],Code:[%d]",t,rc);
  61. exit(-1);
  62. }
  63. }
  64.  
  65. for(i=0; i<M; i++)
  66. {
  67. pthread_join(threads[i],NULL);
  68. }
  69.  
  70. for(i=0; i<M; i++)
  71. {
  72. printf("Redak [%d] ima sumu: [%d]\n",i+1,suma[i]);
  73. s = s + suma[i];
  74. }
  75.  
  76. printf("Ukupna suma je: %d\n",s);
  77.  
  78. pthread_exit(NULL);
  79.  
  80. return 0;
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement