Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<pthread.h>
- #define M 3
- #define N 3
- int suma[M];
- int matrica[M][N];
- void *zbrojRedaka(void *threadid)
- {
- long tid = (long)threadid;
- int i = 0;
- for(i=0; i<M; i++)
- {
- suma[i] = suma[i] + matrica[i][tid];
- }
- pthread_exit(NULL);
- }
- int main(void)
- {
- int i,j;
- int s = 0;
- long t = 0;
- int rc;
- pthread_t threads[M];
- for(i=0; i<M; i++)
- {
- for(j=0; j<N; j++)
- {
- printf("mat[%d][%d] = \n",i,j);
- scanf("%d",&matrica[i][j]);
- }
- }
- printf("Ispis!\n");
- for(i=0; i<M; i++)
- {
- for(j=0; j<N; j++)
- {
- printf("matrica[%d][%d] = %d ",i,j,matrica[i][j]);
- printf("\n");
- }
- }
- for(t=0; t<M; t++)
- {
- printf("Kreira se thread: %ld\n", t);
- rc = pthread_create(&threads[t],NULL,zbrojRedaka,(void*)t);
- if(rc)
- {
- printf("Error thread[%ld],Code:[%d]",t,rc);
- exit(-1);
- }
- }
- for(i=0; i<M; i++)
- {
- pthread_join(threads[i],NULL);
- }
- for(i=0; i<M; i++)
- {
- printf("Redak [%d] ima sumu: [%d]\n",i+1,suma[i]);
- s = s + suma[i];
- }
- printf("Ukupna suma je: %d\n",s);
- pthread_exit(NULL);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement