0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
||||||
1 | ||||||
Параллельное программирование на С++02.12.2020, 00:28. Показов 7773. Ответов 87
Метки нет (Все метки)
Всем доброго времени суток!
У меня есть вопросы относительно лабораторной Вот постановка задачи: Создать двумерный массив размерности n×m. Найти сумму элементов массива. Но с использованием параллелизма, параллельного программирования, Вот мой код:
Буду очень всем Вам благодарен за совет, относительно того, как можно подкорректировать мой код, чтобы программа все же работала параллельно
0
|
02.12.2020, 00:28 | |
Ответы с готовыми решениями:
87
Параллельное программирование Параллельное программирование на C++ Параллельное программирование Параллельное программирование |
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
||||||
12.01.2021, 00:32 [ТС] | 41 | |||||
Вот код:
Мне нужно, чтобы видно было какие массивы сгенерировались, и какие операции над ними проводились
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
12.01.2021, 00:32 | 42 | |||||
И - не нужно распечатывать массивы в потоках, распечатывай их после завершения
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
|
12.01.2021, 00:33 [ТС] | 43 |
Аа, мы не выводим на экран массивы...
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
12.01.2021, 00:36 | 44 |
Экран у тебя один. Соответственно, если ты в нескольких потоках что-то печатаешь без синхронизации, то всё перемешается.
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
||||||
12.01.2021, 00:41 [ТС] | 45 | |||||
Можно Вас попросить подкорректировать наш код?
Я что то запутался в этих потоках и синхронизации
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
12.01.2021, 00:47 | 46 |
thread3 и randarr3 я тебе вроде показал
Здесь нет никакой особой синхронизации, только самая примитивная работа с потоками. Отдохни, завтра доделаешь всё примерно за полчаса.
1
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
|
12.01.2021, 00:50 [ТС] | 47 |
Хорошо, большое спасибо!
Если вдруг возникнут вопросы, можно Вам написать?
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
12.01.2021, 01:00 | 48 |
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
||||||
12.01.2021, 14:40 [ТС] | 49 | |||||
Здравствуйте! Спасибо Вам большое. Код работает)
Вот он:
Осталось только провести сортировку массивов, Тут так интересно сформулирована условие сортировки: Отсортировать массивы и слить в один массив элементы отсортированный массив в котором есть элементы которые входят во второй и третий массив и не входят в первый. Получается, нужно отсортировать уже массивы с которыми были совершены операции, и использовать элементы дискретной математики: randarr2[i] union (объединить с randarr3[i]) difference randarr1[i]. т.е. Если брать данные массивы с скриншота у меня есть: 1-й выходной массив : 10, 8, 2, 10, 6 2-й выходной массив : 2, 2, 2 3-й выходной массив : 2, 2. Проводим операцию: {2, 2, 2}union {2, 2} difference {10, 8, 2, 10, 6} = 2. Получается, что будет только один элемент в массиве, и он равен 2, Верно?
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||||||
12.01.2021, 14:45 | 50 | ||||||||||
Сортировку сделай в потоках. В конце каждого
1
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
||||||
12.01.2021, 14:50 [ТС] | 51 | |||||
Вот исправил, но что то он не от сортировался(
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
12.01.2021, 14:52 | 52 |
Потому что ты его печатаешь до сортировки. Убери вообще вывод массивов на экран из потоков. Сделай его после join-ов
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
|
12.01.2021, 14:55 [ТС] | 53 |
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
12.01.2021, 14:57 | 54 | |||||
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
|
12.01.2021, 15:07 [ТС] | 55 |
Я ж говорил что будет коряво...
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
|
12.01.2021, 15:07 [ТС] | 56 |
Как тогда провести сортировку?
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
|
12.01.2021, 15:10 [ТС] | 57 |
Мне нужно, чтобы было вот так,
И внизу ещё была видна сортировка
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||||||
12.01.2021, 15:17 | 58 | ||||||||||
У тебя неправильно сделано второе задание
Добавлено через 3 минуты Для начала сделай функцию вывода массива на экран
Тогда
0
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 120
|
|
12.01.2021, 15:20 [ТС] | 59 |
И куда мне это приписать?
Добавлено через 28 секунд Почему? Видь он находит парные элементы
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
12.01.2021, 15:21 | 60 |
Тебе нужно не находить их, а удалить из массива все другие элементы
Добавлено через 20 секунд Выше main
0
|
12.01.2021, 15:21 | |
12.01.2021, 15:21 | |
Помогаю со студенческими работами здесь
60
параллельное программирование Параллельное программирование Параллельное программирование в С++ Параллельное программирование Параллельное программирование параллельное программирование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |