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

Помогите распараллелить цикл!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Cannot convert 'wchar_t &' to 'const char *' http://www.cyberforum.ru/cpp-beginners/thread378334.html
Вообщем есть вот такой кусок кода: while(ListBox1->Items->Strings!=" ") { i++; } При компиляции выдает во такую ошибку Cannot convert 'wchar_t &' to 'const char *'. Подскажите как решить...
C++ строки Добрый день! Задача: Показать на экран с m по n символов строки, введенной пользователем и записать данный отрезок в другой массив. (m и n также вводятся пользователем) Правильна ли такая... http://www.cyberforum.ru/cpp-beginners/thread378322.html
Вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора C++
вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с точностью\varepsilon. Таблицу снабдить заголовком и шапкой. Каждая строка...
C++ Метод Гаусса
В школе задали написать программу , которая решает систему уравнений методом Гаусса. Матрица квадратная (колличество строк = колличеству коэффициентов). Я вроде нашёл на форуме программу но не...
C++ Алгоритм звезды http://www.cyberforum.ru/cpp-beginners/thread378299.html
Где-то видел в книге но не могу найти этот алгоритм выводу и форматирование звезд ... Подскажите если кто-то помнит ... там идет 6 звезд, новый ряд это типа if ( i % 6 == 0 ) cout << endl;...
C++ Наследование. Продукты и корзина Дано условие: создать класс товар, содержащий какие-то общие сведения о товарах, от него производный уже какой-то определенный товар (например: печенье, молоко, хлеб). В нем тоже какие-то данные о... подробнее

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

Помогите распараллелить цикл!!! - C++

05.11.2011, 19:44. Просмотров 1976. Ответов 1
Метки (Все метки)

Эксперты помогите, распараллелить консольное приложение на два(или четыре) ядра. Раньше ни когда не сталкивался с этим, даже не знаю, что лучше использовать (MPI, OpenMP, и т.п.)

В задаче требуется вычислить n максимальных значений, значений произведений элементов двух исходных массивов.

Саму программу без распараллеливания я написал:

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
#include<iostream>;
#include<ctime>;
    using namespace std;                //*****************************************************//
int main()                              //  В задании требуется создать массив(С) максимальных //
{                                       //  значений, произведений элементов двух исходных     //
    setlocale(LC_ALL, "Russian");       //  массивов(А и В)используя параллельное вычисление.  //
    srand(time(0));                     //*****************************************************//
 
    int i,j,n,A[100],B[100],T,k,min;
    
    cout<<"\n  Размер массива С: ";
    cin>>n;
    int *C = new int[n];                // Создаем динам. массив с размерностью n (n<10000)
 
    for(i=0;i<100;i++)                  //
    {                                   //  Заполняем два исходных массива А[100] и B[100]
        A[i]=rand()%19-9;               //  случайными числами 
        B[i]=rand()%19-9;               //
        cout<<A[i]<<"\t"<<B[i]<<endl;   //
    }
    for(i=0;i<10;i++)                   //  Начало фрагмента для распараллеливания
        for(j=0;j<10;j++)
        {
            T=A[i]*B[j];
            if((i*10+j+1)<=n)
                C[i*10+j]=T;
            else
            {
                min=0;
                for(k=1;k<n;k++)
                    if(C[min]>C[k])
                        min=k;
                if(T>C[min])
                    C[min]=T;
            }
        }                               //  Конец фрагмента для распараллеливания
    for(k=0;k<n;k++)
        cout<<C[k]<<" ";
    cout<<endl;
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru