Форум программистов, компьютерный форум CyberForum.ru

Разбить подсчет арифметической прогрессии на несколько потоков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На печать выдать слова, имеющие больше одной буквы «е» http://www.cyberforum.ru/cpp/thread1202923.html
Дана строка. На печать выдать слова, имеющие больше одной буквы «е». С++ Помогите пожалуйста. Добавлено через 3 минуты help! Добавлено через 6 минут help
C++ Написать функцию удаления элемента Не работает функция удаления элемента Помогите написать ее #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> #include <string.h> #include <stdlib.h> http://www.cyberforum.ru/cpp/thread1202663.html
переделать программу ,пожалуйста C++
#include <iostream>//cout,cin #include <chrono>//сверхточные часы #include <random>//rand() //функция для вывода массива void show(int *arr, int N) { for (int i = 0; i < N; i++) { std::cout <<arr <<'\t';//вывод элемента
не могу написать функцию удаления C++
мой код нужно сделать функцию удаления не пойму как это сделать #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> #include <string.h>
C++ Rack Extensions Development http://www.cyberforum.ru/cpp/thread1202161.html
Всем программерам привет! Ищю DSP программиста для разработки плагинов для PH Reason 7! Вот как выглядят плагины в магазине: https://shop.propellerheads.se/browse/?product_type=rack-extensions-refills&sub_type=rack-extensions Плагины защищены by CodeMeter т.е. их не крякнуть, что даёт нам большое приемущество!
C++ CUrl, WinApi, DLL. Все сразу Здрасте! 1.Кто нибудь знает ОТЛИЧНЫЙ сайт по функциям cUrl и реализации(То что в блоге мне не понятно)? 2.Как изменить вид: кнопок, чекбокса, текстовых полей(edit'ы) в WinApi? 3.Курсор мыши изменяется с программного на системный при наведении на кнопку, как исправить (И так же с текстовыми полями)? 4.Как вызвать dll с измененными данными? Пример: //DLL int Go(){ char user; //код } подробнее

Показать сообщение отдельно
Yessman
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 7

Разбить подсчет арифметической прогрессии на несколько потоков - C++

09.06.2014, 01:52. Просмотров 330. Ответов 0
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <windows.h>
#include <iostream>
 
using namespace std;
 
CRITICAL_SECTION cs;
int e;
int sh;
int col;
int mas;
int res=1;
int n;
// Функция потока
DWORD WINAPI ThreadFunc(LPVOID param)
{
    EnterCriticalSection(&cs);
    int* mas = new int[col];
    mas[0]=e;
    for (int i = 1; i <= col; i++)
    {
        mas[i]=e+sh*i;
    }
 
    for (int i = 0; i <= col; i++)
    {
        cout << mas[i] << '*' << flush;
    }
    for (int i = 0; i <= col; i++)
    {
        res= res*mas[i];
    }
    cout<<"="<<res<<flush;
    
    cout << endl;
    res=1;
    Sleep(3000);
    LeaveCriticalSection(&cs);
    return 0;
}
 
int main()
{
    cout<<"Vvedite pervii element posledovatelnosti"<<'\n';
    cin>>e;
    cout<<"Vvedite shag posledovatelnosti"<<'\n';
    cin>>sh;
    cout<<"Vvedite kolichestvo elementov posledovatelnosti"<<'\n';
    cin>>col;
    cout<<"Kolichestvo potokov:";
    cin>>n;
    //время проги
    LARGE_INTEGER freq;
    QueryPerformanceFrequency(&freq);
    LARGE_INTEGER start_time;
    QueryPerformanceCounter(&start_time);
    //создаем потки
    HANDLE* hThreads = new HANDLE[n];
    //крит секции
    InitializeCriticalSection(&cs);
 
    for (int i = 0; i < n; i++)
    {
        hThreads[i] = CreateThread(NULL, 0, ThreadFunc,NULL, 0, NULL);
    }
 
    WaitForMultipleObjects(n, hThreads, true, INFINITE);
 
    for (int i = 0; i < n; i++)
        CloseHandle(hThreads[i]);
    DeleteCriticalSection(&cs);
 
    LARGE_INTEGER end_time;
    QueryPerformanceCounter(&end_time);
    double time = (double) (end_time.QuadPart - start_time.QuadPart) / freq.QuadPart * 1000;
    cout<<"Vremya vipolneniya programmu:";
    cout<<time<<'\n';
    system("Pause");
    return 0;
}
есть програмка которая считает арифметическую прогрессию, создается N- е количество потоков заданное пользователем и каждый поток считает эту прогрессию, как сделать что бы эта прогрессия разбивалась на части, и каждый поток обрабатывал свою часть, и результаты каждого потока перемножались
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru