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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2013, 00:02   #1
symrak
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 22
Восклицание Распараллелить алгоритм

Всем привет! Столкнулся с такой проблемой не пойму как мне реализовать алгоритм в несколько потоков ( генерация перестановок из n элементов ).
Вот сам код:
Код:
#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;

#define N 4

void swap(int *a, int *b)
{
  int t;

  t=*a;
  *a=*b;
  *b=t;
}

void reverse(int * P,int m)
{
   int i=0, j=m;
   while(i<j)
   {
     swap(&P[i], &P[j]);
     ++i;
     --j;
   }
}

void antilex(int * P,int m)
{
  int i;

  if(m==0)
  {
    for(i=0; i<N; ++i)
      cout << P[i];
    cout << "\n";
  }
  else
  {
    for(i=0; i<=m; ++i)
    {
      antilex(P,m-1);
      if(i<m)
      {
        swap(&P[i], &P[m]);
        reverse(P,m-1);
      }
    }
  }
}

void main()
{
  int i;
  int P[N];

  for(i=0; i<N; ++i)
    P[i] = i+1;

  antilex(P,N-1);
  getch();
}

Заранее спасибо!
Путь в тысячу миль начнется из одного шага

Последний раз редактировалось Stilet; 26.04.2013 в 07:55.
symrak вне форума Ответить с цитированием
Старый 26.04.2013, 07:45   #2
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

форматируйте код
Kukurudza вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как это распараллелить? nemato Помощь студентам 3 01.08.2012 12:27
Разработайте алгоритм методом пошаговой детализации и программу, реализующую этот алгоритм iamhated Помощь студентам 1 14.01.2012 16:22
Распараллелить выполнение задачи и осуществить синхронизация подзадач по сети. UDP. [C++ Builder] Radisson Фриланс 1 12.01.2012 04:51
Не получается распараллелить!!! Unikum1979 Общие вопросы C/C++ 1 05.11.2011 20:26
Как распараллелить потоки Lindemann66 Qt и кроссплатформенное программирование С/С++ 1 08.09.2011 13:58