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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2011, 20:20   #1
aly-lucenko
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 29
По умолчанию Генерация всех перестановок массива

Доброго времени суток) подскажите, как осуществить данную задачу...
вот мои наработки...
Вложения
Тип файла: rar Pr5.2.rar (175.6 Кб, 11 просмотров)
aly-lucenko вне форума Ответить с цитированием
Старый 26.04.2011, 21:02   #2
aly-lucenko
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 29
По умолчанию

не проходите мимо)
может именно вы сможете мне помочь
aly-lucenko вне форума Ответить с цитированием
Старый 26.04.2011, 21:41   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

секция объявления переменных
Код:
const
  max = 200;
var
  Form1: TForm1;
  b:array[1..max] of integer;
  n:byte;
  s:longint;
  i,c,p,j:integer;
  il:byte;
  sOneVariant : string;
процедура:
Код:
procedure Generate(k:byte);
  var i,j:byte;
  procedure Swap(var a,b: integer);
    var c:byte;
  begin
    c:=a;a:=b;b:=c
  end;
begin
  if k=N then
    begin
      sOneVariant := '';
      for i:=1 to N do sOneVariant := sOneVariant + IntToStr(B[i])+' ';{значит выводим массив}
      Form1.Memo1.Lines.Append(sOneVariant);
    end
  else
    for j:=k+1 to N do
      begin
        Swap(B[k+1],B[j]);
        Generate(k+1);
        Swap(B[k+1],B[j])
      end
end;
вызов на кнопке:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  N := StrToInt(edit1.Text);
  Generate(0);
end;
p.s. взято тут - Перестановки

Последний раз редактировалось Serge_Bliznykov; 26.04.2011 в 21:44.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.04.2011, 22:00   #4
aly-lucenko
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 29
По умолчанию

прошу прощение за беспокойство, но sOneVariant это обьект в который выводит результат?
тогда выдает ошибку...
Вложения
Тип файла: rar 1.03.rar (4.4 Кб, 8 просмотров)
aly-lucenko вне форума Ответить с цитированием
Старый 28.04.2011, 14:14   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Нет, Вы неправильно поняли.
1) sOneVariant - это просто строка (посмотрите секцию описания переменных

2) Вы выкинули массив. Из чего перестановки генерировать?!

3) посмотрите мой рабочий пример (из вашего кода) в архиве.

p.s. два дня не могу получить доступ к форуму... поэтому так запоздало отвечаю..
Вложения
Тип файла: rar perestanovka.rar (1.4 Кб, 10 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация всех перестановок 10-элементного множества aly-lucenko Помощь студентам 0 17.04.2011 20:04
Генерация перестановок vereney Паскаль, Turbo Pascal, PascalABC.NET 3 21.03.2011 21:04
Сумма и произведение элементов массива, удовлетворяющих условию (генерация float массива) felodese Помощь студентам 1 11.11.2010 20:52
Генерация массива ZORRO2005 Microsoft Office Excel 2 23.05.2010 23:47
Прога - Генерация перестановок DED_moroZ Помощь студентам 0 04.03.2010 15:37