Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2018, 11:07   #1
Weronika*
Пользователь
 
Регистрация: 02.03.2016
Сообщений: 15
По умолчанию Обнаружить максимальное из магических чисел и сообщить его пользователю с указанием номера процесса-владельца.

Написать программу на С, используя Open MPI: Запущено n процессов, каждый из которых знает некоторое магическое число. Требуется обнаружить максимальное из магических чисел и сообщить его пользователю с указанием номера процесса-владельца. Магическое число определить как некоторую произвольную функцию от номера процесса. Решить задачу,используя парадигму «управляющий-рабочий». Максимальное магическое число с номером процесса-владельца в результате должен знать каждый процесс.
Кто может, помогите пожалуйста написать программу
Weronika* вне форума Ответить с цитированием
Старый 19.02.2018, 11:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Помочь не значит написать за вас.

Покажите свои наработки, конкретные вопросы и т.п.
http://www.programmersforum.ru/announcement.php?f=31

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.02.2018, 19:48   #3
Weronika*
Пользователь
 
Регистрация: 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;
}
Weronika* вне форума Ответить с цитированием
Старый 24.02.2018, 19:49   #4
Weronika*
Пользователь
 
Регистрация: 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;
}
Weronika* вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
генератор псевдослучайных чисел с указанием диапазона в формате 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