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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На печать выдать слова, имеющие больше одной буквы «е» http://www.cyberforum.ru/cpp/thread1202923.html
Дана строка. На печать выдать слова, имеющие больше одной буквы «е». С++ Помогите пожалуйста. Добавлено через 3 минуты help! Добавлено через 6 минут help
C++ Вычисление наибольшей общей последовательности двух байтовых последовательностей методом динамического програм вычисление наибольшей общей последовательности двух байтовых последовательностей методом динамического программирования. Результаты выводятся на экран. Байтовые последовательности должны быть получены из файла. При выводе байты представляются в HEX http://www.cyberforum.ru/cpp/thread1202776.html
Написать функцию удаления элемента C++
Не работает функция удаления элемента Помогите написать ее #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> #include <string.h> #include <stdlib.h>
переделать программу ,пожалуйста 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++ не могу написать функцию удаления http://www.cyberforum.ru/cpp/thread1202413.html
мой код нужно сделать функцию удаления не пойму как это сделать #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> #include <string.h>
SFML Куда и как установить библиотеку, например SFML Подскажите начинающему, куда и как установить библиотеку, например SFML, и желательно как это все проверить , Заранее спасибо!!! подробнее

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

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

09.06.2014, 01:52. Просмотров 315. Ответов 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- е количество потоков заданное пользователем и каждый поток считает эту прогрессию, как сделать что бы эта прогрессия разбивалась на части, и каждый поток обрабатывал свою часть, и результаты каждого потока перемножались
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru