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

Распараллеливание с помощью OpenMP - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обращение к вложенными структурами http://www.cyberforum.ru/cpp-beginners/thread565954.html
Описал структуру struct personal{ char firstname,lastname,middlename,nationality; struct date{ int day,month,year; }; }; Пишу следующее: personal pbuf; А потом в цикле:
C++ Скорректировать циклы под задачу Задача. Любимое занятие котенка Мурхика - прыгать по лесенке вверх, перепрыгивая через ступеньки. Лестница имеет определенное количество ступенек N. Котенок может одним прыжком преодолеть не более К ступенек. Для разнообразия Мурзик пытается каждый раз найти новый путь к вершине лестницы. Студентам второго курса факультета экономической информатики стало интересно, сколько различных способов есть... http://www.cyberforum.ru/cpp-beginners/thread565951.html
LNK 2001 C++
Error 6 error LNK2001: unresolved external symbol "private: static char * myText::szText" (?szText@myText@@0PADA) test.obj OOPCursEx Error 7 error LNK2001: unresolved external symbol "public: virtual bool __thiscall myRect::Draw(struct HDC__ *)" (?Draw@myRect@@UAE_NPAUHDC__@@@Z) test.obj OOPCursEx Ув. господа. Что означают эти ошибки и как их можно исправить?
C++ Пример из книги Лафоре
Здравствуйте! Не могли бы подсказать, по какой причине в листинге ниже переменные должны быть обязательно быть изначально изначально с определенным значением( например int chCount=0;int wdCount=0;char ch='a'; )? Почему если их оставить пустыми, то программа не будет выполняться, и компилятор ответит, что переменные не инициализированны вообще? Заранее спасибо. char ch='a'; #include...
C++ поиск и сравнения числа в строке http://www.cyberforum.ru/cpp-beginners/thread565933.html
даны строки:30...50,40...60,50...120.Надо выделить эти числа из строк и использовать для сравнения с условием в алгоритме.Как их выделить???помогите пожалуйста.
C++ Алгоритм Брона-Кербоша или помогите с Java перевести на С++ В общем Алгоритм Брона-Кербоша представляет из себя поиск наибольшего независимого множества вершин в графе... Мне надо написать эту программку на С++. Но у меня имеется алгоритм на Java, если кто умеет можете помочь перевести его на C++, но желательно без всяких классов и тд... Ну или может быть у кого-нибудь просто есть этот алгоритм. Алгоритм на Java: import java.util.*; // Search for... подробнее

Показать сообщение отдельно
qwrus
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 24
16.05.2012, 03:56  [ТС]     Распараллеливание с помощью OpenMP
Вроде распараллелил, теперь неизвестная ошибка.


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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#pragma omp parallel private(func, select, cross, k, m, n, t, l, i, j, sp, test, tn, A, S, best, best_num, d, a, b, s, rel, speed, B), shared (A1, A2, A3, A4, A5, A6, A7)
    {
        for (test = 0; test<100; test++)
        {
            tn = omp_get_thread_num();
            test = test + 1;
            A1[tn][test-1] = test;
            first_population(A,n,k);
            A2[tn][test-1] = average_objective_function(A,B,m,n,k,func);
            best_num=best_population_individ(A,B,m,n,k,func);
            for (i=0;i<k;i++)
            {
                best[0][i]=A[best_num][i];
            }
            for (j=0;j<t;j++)
            {
                switch(select)
                {
                case 1:
                    {
                        rank_selection(A,B,S,m,n,k,func);
                        break;
                    }
                case 2:
                    {
                        tournament_selection(A,B,S,m,n,k,func);
                        break;
                    }
                default:
                    {
                        return 0;
                    }
                }
            
                switch(cross)
                {
                case 1:
                    {
                        one_point_crossingover(A,S,n,k);
                        break;
                    }
                case 2:
                    {
                        two_point_crossingover(A,S,n,k);
                        break;
                    }
                case 3:
                    {
                        equable_crossingover(A,S,n,k);
                        break;
                    }
                default:
                    {
                        return 0;
                    }
                }
 
                for (i=0;i<k;i++)
                {
                    A[0][i]=best[0][i];
                }
 
                moderate_mutation(A,n,k);
                s=s+decode(best,B,m,k,d,func);
 
                if (sp==0)
                {
                    sp = decode(best,B,m,k,d,func);
                    if (sp==1)
                    {
                        sp=j;
                    }
                }
 
                best_num=best_population_individ(A,B,m,n,k,func);
 
                if (objective_function(A,B,m,k,best_num,func)<=objective_function(best,B,m,k,0,func))
                {
                    for (i=0;i<k;i++)
                    {
                        best[0][i]=A[best_num][i];
                    }
                }
            }
 
            A3[tn][test-1] = average_objective_function(A,B,m,n,k,func);
            A4[tn][test-1] = s/t;
            s=0;
            A5[tn][test-1] = sp;
 
            if (sp==0)
            {
                sp=t;
                // массив A6 хранит новое ебанейшее значение sp
                A6[tn][test-1] = sp;
            }
            else
            {
                A6[tn][test-1] = sp;
            }
            sp = 0;
            A7[tn][test-1] = objective_function(best,B,m,k,0,func);
        }
    }
 
// потом еще код
return 1;
}
error C3010: return: не допускается переход из структурированного блока OpenMP

где у меня вообще может быть выход из блока OpenMP!?
 
Текущее время: 17:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru