Форум программистов, компьютерный форум 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++/CLI WinForms Решить квадратное уравнение и вывести его результат в Label нужно решить квадратное уравнение и вывести его результат в label, дело в том , что ошибку выводит в label, а иксы нет #pragma once #include "stdafx.h" #include "stdio.h" #include "math.h" namespace laba4_1 { http://www.cyberforum.ru/cpp-beginners/thread378324.html
C++ строки
Добрый день! Задача: Показать на экран с m по n символов строки, введенной пользователем и записать данный отрезок в другой массив. (m и n также вводятся пользователем) Правильна ли такая реализация? #include <iostream> #include <stdlib.h> using namespace std; int main(){ setlocale(LC_ALL,"rus"); char mas, *mas1; int a,b,j=0; cout<<"Введите строку "; gets(mas);
Вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора C++
вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с точностью\varepsilon. Таблицу снабдить заголовком и шапкой. Каждая строка должна содержать значение аргумента, значение функции и значение просуммированных рядов. вот функция: x-(22*x2/5)+(23*x3/10)-(24*x4/17)+(25*x5/26)-… помогите, пожалуйста! программа для с++ 6.0
C++ Метод Гаусса http://www.cyberforum.ru/cpp-beginners/thread378320.html
В школе задали написать программу , которая решает систему уравнений методом Гаусса. Матрица квадратная (колличество строк = колличеству коэффициентов). Я вроде нашёл на форуме программу но не понимаю как она работает Добавлено через 2 минуты #include "stdio.h" #include "conio.h" #include <iostream> #include <string.h> #include <stdio.h> // Îïèñàíèÿ ôóíêöèé ââîäà-âûâîäà
C++ Алгоритм звезды Где-то видел в книге но не могу найти этот алгоритм выводу и форматирование звезд ... Подскажите если кто-то помнит ... там идет 6 звезд, новый ряд это типа if ( i % 6 == 0 ) cout << endl; потом маленький пробел - 5 звезд и опять << endl; и так повторяется пока в цикле всё 50 звезд не выведет на экран ... пример выводу таких звезд есть на США прапоре подробнее

Показать сообщение отдельно
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,819
Завершенные тесты: 2
06.11.2011, 09:15     Помогите распараллелить цикл!!!
Это ставьте где-нибудь в начале программы:
C
1
2
3
4
5
6
7
8
#ifdef _OPENMP
    puts("OpenMP is supported!");
    //omp_set_dynamic(0);      // запретить библиотеке openmp менять число потоков во время исполнения
    //omp_set_num_threads(10); // установить число потоков в 10
#else
    puts("OpenMP is NOT supported!");
    return 0;
#endif
Цикл выглядит примерно так:
В private указываете переменные чьи "экземпляры" должны быть на отдельных потоках.
В shared указываете общие переменные.
Я сам не все указал.
C
1
2
3
4
5
6
7
8
#pragma omp parallel shared(A,B) private(i, j, k)
{
#pragma omp for
    for (i = 0; i < 10; i++)
    {
        ...
    }
}
Кстати, я сомневаюсь что в Вашем фрагменте применять параллельные можно. Может случится, что в каком-то потоке какой-то элемент массива C не определен и производится попытка получить значение.

Компилируйте с поддержкой OpenMP. Для gcc указываете -fopenmp в качестве параметра. Если у Вас не gcc - используйте поиск.
OpenMP только недавно начал изучать. Поэтому не рассчитывайте что отвечу на Ваши вопросы.
 
Текущее время: 14:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru