Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- #include <thread>
- using namespace std;
- void countSum(int * mas, int c, int * sum, int k);
- int main()
- {
- srand(time(0));
- int n=100000, k=0;
- // cout << "Enter n: ";
- int sum1=0;
- int sum2=0;
- int sum3=0;
- int sum4=0;
- //int sum1=0
- // int s
- //cin >> n;
- int mas[n];
- int t=0;
- cout << "Enter " << n << " numbers: ";
- for (int i=0; i<n; i++){
- //cin >> t;
- mas[i]=rand()%125;
- }
- for(int j=0; j< 1000; j++){
- t=n/4;
- k=0;
- thread thr1(countSum, &mas[0], t, &sum1, k);
- k=n/4;
- thread thr2(countSum, &mas[0], t, &sum2, k);
- k=n/2;
- thread thr3(countSum, &mas[0], t, &sum3, k);
- k=3*n/4;
- t=n/4 + n%4-1;
- countSum(&mas[0], t, &sum4, k);
- thr1.join();
- thr2.join();
- thr3.join();
- //thr4.join();
- sum1 += (sum2+sum3+sum4);
- // cout << "Sum = " << sum1;
- }
- return 0;
- }
- void countSum(int * mas, int c, int * sum, int k){
- for (int i=k; i<(k+c); i++){
- if (i%2==0){
- *sum -= mas[i];
- }else{
- *sum += mas[i];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement