#include<iostream> #include<sys/syscall.h> #include<pthread.h> #include<unistd.h> #include<cstdlib> using namespace std; void * tasal(void *sayi) { int sayac=0; int sayim=(int)sayi; if(sayim==0) { cout<<"0"<<" "<<"asal değildir"<<endl; return 0; } if(sayim==1) { cout<<"1"<<" "<<"asal değildir"<<endl; return 0; } for(int j=2;j<=sayim/2;j++) if(sayim%j==0) { sayac++; break; } if(sayac==0) cout<<sayim<<" "<<"asaldır"<<endl; else cout<<sayim<<" "<<"asaldegildir"<<endl; } void * tfibonacci(void*sayi) { int * a=(int*)sayi; int sayim=*a; int s1=0; int s2=1; int s3=0; while(s3<sayim) {s3=s2+s1; s1=s2; s2=s3; if(s3==sayim) { break; } } if(s3==sayim) cout<<sayim<<" "<<"Fibonacci sayısıdır"<<endl; else cout<<sayim<<" "<<"Fibonacci sayısı değildir"<<endl; } int main() { int dizi[5]={5,13,2,8,6}; int boyut=sizeof(dizi)/sizeof(int); pthread_t iplik[boyut], iplik2[boyut]; for(int i=0;i<boyut;i++) { pthread_create(&iplik[i],NULL,tfibonacci,&dizi[i]); pthread_create(&iplik2[i],NULL,tasal,(void*)dizi[i]); } for(int i=0;i<boyut;i++) //ipliklerin bitmesini bekle ondan sonra sonlan { pthread_join(iplik[i],NULL); pthread_join(iplik2[i],NULL); } return 0;}