|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.02.2018, 11:07 | #1 |
Пользователь
Регистрация: 02.03.2016
Сообщений: 15
|
Обнаружить максимальное из магических чисел и сообщить его пользователю с указанием номера процесса-владельца.
Написать программу на С, используя Open MPI: Запущено n процессов, каждый из которых знает некоторое магическое число. Требуется обнаружить максимальное из магических чисел и сообщить его пользователю с указанием номера процесса-владельца. Магическое число определить как некоторую произвольную функцию от номера процесса. Решить задачу,используя парадигму «управляющий-рабочий». Максимальное магическое число с номером процесса-владельца в результате должен знать каждый процесс.
Кто может, помогите пожалуйста написать программу |
19.02.2018, 11:47 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Помочь не значит написать за вас.
Покажите свои наработки, конкретные вопросы и т.п. http://www.programmersforum.ru/announcement.php?f=31 Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
24.02.2018, 19:48 | #3 |
Пользователь
Регистрация: 02.03.2016
Сообщений: 15
|
Я не очень разбираюсь в Open MPI. Вот нашла программный код похожего задания, но не знаю как его передать. Помогите пожалуйста.
#include <mpi.h> #include <stdio.h> #include <cstdlib> #include <ctime> int main() { MPI_Init(NULL, NULL); int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); int randoms[world_size]; for(int j = 0; j < world_size; j++) { randoms[j] = rand() % 300; } if(world_rank != 0) { srand(time(0)); int cost = randoms[world_rank]; MPI_Ssend(&cost, 1, MPI_INT, 0, 0, MPI_COMM_WORLD); } int offers[world_size]; int cost; if(world_rank == 0) { for(int i = 1; i < world_size; i++) { MPI_Recv(&cost, 1, MPI_INT, i, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); offers[i] = cost; printf("received cost %d from bidder #%d\n", offers[i], i); } int max_cost = 0; int winner_index = 0; for(int i = 1; i < world_size; i++) { if(max_cost < offers[i]) { max_cost = offers[i]; winner_index = i; } } printf("\n------\nbidder #%d wins with cost %d$\n", winner_index, max_cost); } MPI_Finalize(); return 0; } |
24.02.2018, 19:49 | #4 |
Пользователь
Регистрация: 02.03.2016
Сообщений: 15
|
Я не очень разбираюсь в Open MPI. Вот нашла программный код похожего задания, но не знаю как его переделать. Помогите пожалуйста.
#include <mpi.h> #include <stdio.h> #include <cstdlib> #include <ctime> int main() { MPI_Init(NULL, NULL); int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); int randoms[world_size]; for(int j = 0; j < world_size; j++) { randoms[j] = rand() % 300; } if(world_rank != 0) { srand(time(0)); int cost = randoms[world_rank]; MPI_Ssend(&cost, 1, MPI_INT, 0, 0, MPI_COMM_WORLD); } int offers[world_size]; int cost; if(world_rank == 0) { for(int i = 1; i < world_size; i++) { MPI_Recv(&cost, 1, MPI_INT, i, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); offers[i] = cost; printf("received cost %d from bidder #%d\n", offers[i], i); } int max_cost = 0; int winner_index = 0; for(int i = 1; i < world_size; i++) { if(max_cost < offers[i]) { max_cost = offers[i]; winner_index = i; } } printf("\n------\nbidder #%d wins with cost %d$\n", winner_index, max_cost); } MPI_Finalize(); return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
генератор псевдослучайных чисел с указанием диапазона в формате int64 | Ежик | Помощь студентам | 5 | 03.04.2013 17:35 |
Дан массив целых чисел. Найти максимальное и минимальное значение. Вывести максимальное на 1-ое место, минимальное на последнее. | Punk_Killer | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 01.04.2013 09:38 |
если ячейка datagreedview пуста то сообщить пользователю | Pein95 | Общие вопросы C/C++ | 3 | 02.01.2013 19:56 |
Оброботка масива.найти елемент масива с указанием его адреса в строке и в столбце | Rokko195 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 20.12.2012 07:22 |
напечатать распределение простых чисел по сотням с указанием их количества в сотне для интервала от 1 до | Настёна_19 | Помощь студентам | 10 | 26.12.2010 02:45 |