3 / 3 / 0
Регистрация: 02.04.2016
Сообщений: 127
|
||||||
1 | ||||||
Обработать параллельным способом матрицу с механизмом замков23.11.2020, 03:39. Показов 600. Ответов 11
Метки нет (Все метки)
Доброй ночи! Подскажите, пожалуйста, почему у меня после выполнения 3 пункта в 2 пункт выполняется всё только в 0 потоке? Если просто выполнить 2 пункт все срабатывает вроде как надо. Как мне тогда их распределить?)
0
|
23.11.2020, 03:39 | |
Ответы с готовыми решениями:
11
Как обработать параллельным способом матрицу? Обработать параллельным способом матрицу: найти минимальное значение каждой строки Получить матрицу из чисел, заполняющих матрицу по линиям, параллельным главной диагонали Каким способом можно так обработать голос? |
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
23.11.2020, 09:47 | 2 | |||||
Сделать блокировку внутри функции Par_Min_Value_From_Row, а не снаружи
writing_to_file() вообще убрать
0
|
3 / 3 / 0
Регистрация: 02.04.2016
Сообщений: 127
|
||||||
23.11.2020, 13:03 [ТС] | 3 | |||||
oleg-m1973, мне просто объединить как-то их writing_to_file() и Par_Min_Value_From_Row()? Мне же нужно еще выполнить задачу поставленную в 3 пункте:
Вариант объединить:
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
23.11.2020, 13:06 | 4 |
Я ж тебе вроде показал где это всё должно делаться. Там и делай
Добавлено через 40 секунд Ну да, как то так. Опять не работает? Добавлено через 26 секунд Покажи весь код
0
|
3 / 3 / 0
Регистрация: 02.04.2016
Сообщений: 127
|
|
23.11.2020, 13:12 [ТС] | 5 |
0
|
3 / 3 / 0
Регистрация: 02.04.2016
Сообщений: 127
|
|
23.11.2020, 13:13 [ТС] | 6 |
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
23.11.2020, 13:16 | 7 |
Вроде всё правильно
Добавлено через 32 секунды Вот это должно быть под блокировкой, иначе перемешается
0
|
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
|
|
23.11.2020, 13:36 | 8 |
thread_num - глобальная переменная!!! она должна или быть объявленной внутри параллельной секции или помечена как private
Всё printf/out<< должны быть синхронизированы, т.к. работают с общими данными, например окружены критической секцией.
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
23.11.2020, 13:38 | 9 |
0
|
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
|
||||||
23.11.2020, 13:39 | 10 | |||||
Т.е.
0
|
3 / 3 / 0
Регистрация: 02.04.2016
Сообщений: 127
|
||||||
23.11.2020, 13:48 [ТС] | 11 | |||||
oleg-m1973, я представлял что оно как то должно отработать по другому)
Как-то так: Начало закрытой секции, поток 2 //выводим обработку Строка - 4 Значение - 49 поток - 2 //и выводим сообщения если другие потоки попадают Секция закрыта, обратился поток 1 Секция закрыта, обратился поток 0 Секция закрыта, обратился поток 3 Секция закрыта, обратился поток 0 Конец закрытой секции, поток 2 Можно ли как то так реализовать? А как я его могу заблокировать?) оно вроде и так выдается по мере надобности) удалил: thread_num = omp_get_thread_num(); и заменил thread_num сразу на omp_get_thread_num(); теперь выводится лучше.
0
|
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
|
||||||
24.11.2020, 17:28 | 12 | |||||
DmitriyStroy, не знаю на сколько вся это будет тебе полезно. Попытался не использовать чего-то страшного в виде шаблонов. Но некоторые элементы C++11 и дополнительный класс для матрицы, по мне, так более уместны.
0
|
24.11.2020, 17:28 | |
24.11.2020, 17:28 | |
Помогаю со студенческими работами здесь
12
Задать матрицу произвольным способом Заполнить квадратную матрицу следующим способом Заполнить квадратную матрицу следующим способом Обработать матрицу с++ Обработать на компьютере матрицу Обработать квадратную матрицу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |