Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>;
- #include <string>;
- #include <thread>;
- using namespace std;
- int volatile A1 = 0, B1 = 0, C1 = 0, D1 = 0;
- void schet(int ot, int ido, int num){
- int s = 0, prom = 0;
- for (int i = ot; i <= ido; i++){
- prom = 0;
- for (int j = 0; j < i + 1000000000; j++){//этот цикл просто для задержки
- if (j % 2 == 0) prom = 1; else prom = -1;
- }
- s = s + i + prom;
- switch (num){
- case 1: A1 = s;
- case 2: B1 = s;
- case 3: C1 = s;
- case 4: D1 = s;
- }
- }
- }
- void main() {
- setlocale(LC_ALL, "");
- int k = 0, A = 0, B = 0, C = 0, D = 0;
- cout << "сумма от нуля до: ";
- cin >> k;
- A = k / 4;
- B = A + k / 4;
- C = B + k / 4;
- D = C + k / 4;
- cout << A << endl << B << endl << C << endl << D << endl;
- thread At(schet, 1, A, 1);
- thread Bt(schet, A+1, B, 2);
- thread Ct(schet, B+1, C, 3);
- thread Dt(schet, C+1, D, 4);
- if (At.joinable()){ At.join(); }
- if (Bt.joinable()){ Bt.join(); }
- if (Ct.joinable()){ Ct.join(); }
- if (Dt.joinable()){ Dt.join(); }
- //cout<< schet(1, k);
- cout << A1 + B1 + C1 + D1;
- system("pause>nul");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement