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

Задача с openMP - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверить, является ли вторая строка аббревиатурой первой http://www.cyberforum.ru/cpp-beginners/thread1049697.html
Дано две строки. Первая содержит слова, разделенные одним или несколькими пробелами или спец символами. Вторая строка содержит единствненное слово. Проверить, является ли вторая строка аббревиатурой первой.
C++ Дайте ссылку на книгу "C++ For Dummies: Stephen R. Davis" 4е издание на английском У меня уже есть русская книга 4 е издание хочу еше подучить и английский дайте ссылку на английскую версию этой книги желательно 4е издание http://www.cyberforum.ru/cpp-beginners/thread1049682.html
Найти количество слов в строке, начищающихся с заданной буквы C++
Дана строка.найти количество слов в ней, начищающихся с заданной буквы алфавита
C++ Студент собрал X кг помидоров за день - определить его заработок
Ребята, пожалуйста помогите мне разобраться в написании программы: Студенты убирают урожай помидоров. При сборе до 50 кг в день работа оплачивается из расчёта 30 руб. за 1 кг; при сборе от 50 до 75 кг в день – 50 руб. за 1 кг; при сборе от 75 до 90 кг в день – 65 руб. за 1 кг; при сборе свыше 90 кг в день – 70 руб. за 1 кг плюс 20 руб. премия. Студент собрал X кг помидоров за день....
C++ Не могу составить блок схему http://www.cyberforum.ru/cpp-beginners/thread1049677.html
Помогите составить блок схему Задание: 1)Найти произведение отрицательных элементов массива. 2)Найти сумму положительных элементов массива расположенных после минимального элемента. 3)Изменить порядок следования элементов в массиве на обратный. Правильно ли написан код к заданию? #include <iostream>
C++ Определить, придёт ли ученик раньше звонка, после звонка или во время Ребят, помогите мне разобраться написать данную программу: Расстояние от дома до школы Sкм. До начала урока осталось tминут. Ученик идет со скоростью v. Определить, придёт ли он раньше звонка, после звонка или во время В принципе, здесь нужно использовать операторы if и else. Как ввести 3 переменные я могу сделать, но с чего начать, вот непонятно. Надеюсь, вы мне поможете. подробнее

Показать сообщение отдельно
Joe_Hopkins
0 / 0 / 0
Регистрация: 31.05.2013
Сообщений: 2
20.12.2013, 14:29     Задача с openMP
Здравствуйте, я "написал" программу для решения интеграла по методу трапеций, но когда указываю количество нитей(num_threads) больше 1, то ответ становится не правильный, хотя для 1 нити все решает правильно..
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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <locale.h>
#include <iostream>
#include <omp.h>
#include <ctime>
#include <cstdlib>
 
#define n 100000000
 
double Integral(double x)
{
    double F;
    F = exp(x); // Сюда задается подиннтегральная функция
    return F;
}
 
int main()
{
    omp_set_dynamic(0);
    omp_set_num_threads(1);
    setlocale(LC_ALL, "Rus");
    double a, b, h, S=0, x, eps;
 
    while (true)
    {
        puts("Введите диапазон [a;b] интегрирования.\n");
        printf("a = ");
        scanf_s("%lf", &a);
        printf("b = ");
        scanf_s("%lf", &b);
        if (a>b)
            printf("Неверно заданы пределы интегрирования!\n");
        else
            break;
    }
    h = (b - a) / n;
    clock_t time = clock();
    //S = (Integral(a) + Integral(b))/2;
    
    int i; double pos;
 
#pragma omp parallel shared(S,h,x,a,b) private(i,pos)
 
    {
#pragma omp for
 
        for (i = 1; i <= n; i++)
        {
            //pos = a + i*h;
            S += Integral(i*h + a) + Integral((i + 1)*h + a);
        }
    }
        S = S*h/2;
    
    time = clock() - time;
    printf("Интеграл f(x) равен = %lf ", S);
    printf("\nВремя работы равно %f\n", (double)time / CLOCKS_PER_SEC);
    //printf("\nНажмите любую клавишу для выхода из программы");
    system("pause");
    return 0;
}
Может кто знает в чем может быть проблема. Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru