Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Матрица процессов 
:(
    Опции темы
Sliva
Дата 23.12.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



Даны 2 матрицы. Строки в них - это процессы. Найти значение: max по j (min по i суммы (Aik+BkJ))
PM   Вверх
witex
Дата 23.12.2006, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 16.10.2006
Где: Эстония

Репутация: 0
Всего: 4



Не вижу сути вопроса, где помочь, что не получается? Выложи код где ошибка и тд.

Цитата

Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи". 


--------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. 
PM MAIL   Вверх
SaDFromSpb
Дата 24.12.2006, 03:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 5.4.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 3



Sliva, 
Вот этими вещами я не занимался. В MPI есть специальные функции как раз для таких вещей. Пощи в литературе, которую тебе присылали.
(Не плохо было бы указать, что MPI имеется ввиду  smile  )


--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
Sliva
Дата 26.12.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



 smile ВСЕ!!!!! Отмучилась! Вот что требовалось: 
Код

int main(int argc, char* argv[])
{ int rank,size;
  int tag=0;
  int matrixA[10],matrixB[10];
  int i,j,max,minM;
  MPI_Status status;
  MPI_Init(&argc,&argv);
  MPI_Comm_rank(MPI_COMM_WORLD,&rank);
  MPI_Comm_size(MPI_COMM_WORLD,&size);
  srand(rank);
  for (j=0;j<size;j++)  // заполняем массивы
  {
    matrixA[j]=rand()+rank; 
    printf("process %i give number %i\n",rank,matrixA[j]);
    matrixB[j]=rand()+rank;
    printf("process %i give number %i\n",rank,matrixB[j]);
  }

//поиск первого минимума и он же первый максимум
  for (i=0;i<size;i++)
    {
      max=(matrixA[i]+matrixB[i])*i; 
    }

   
  for (j=1;j<size;j++)    //считает максимум
  {
      minM=(matrixA[1]+matrixB[1])*1;
     for (i=0;i<size;i++)  //считает минимум
    {
         if ((matrixA[i]+matrixB[i])*i<minM);
         {
              minM=(matrixA[i]+matrixB[i])*i; 
         //     printf ("RANK %i give MIN %i\n",rank,minM);
         }
    }
    if (minM>max)
    {
        max=minM;
    }
    MPI_Send(&matrixB,size,MPI_INT,(rank+1)%size,tag,MPI_COMM_WORLD); //отправляем следующему процессу
    MPI_Recv(&matrixB,size,MPI_INT,(rank-1+size)%size,tag,MPI_COMM_WORLD,&status);//получеам от предыдущего 0 получает от 9
  }
  printf("process %i daet max iz min=%i\n",rank,max);

  MPI_Finalize();    
  return 0;
}


 smile  
PM   Вверх
SaDFromSpb
Дата 27.12.2006, 05:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 5.4.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 3



Sliva, 
Что, это препод тоже приняла?  smile   smile
Хотя с (rank+1)%size и (rank-1+size)%size - ловко придумано. Вот тебе и кольцевая пересылка двумя строчками  smile 


--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0613 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.