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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2012, 21:47   #1
mnikola2009
 
Регистрация: 26.11.2009
Сообщений: 6
По умолчанию Размещения с повторением элементов (Pascal Delphi)

Всем привет. Есть функция генерирующая размещения с повторением элементов из 'ABCDEF' длиной 5 символов, следующего вида: AAAAA ... AAAAB ... AABAA ... ACAAA ... ACABA ... FFFFF.

Подскажите как изменить функцию, чтобы каждая буква повторялась не более 3-х раз? Чтобы в генерации небыло строк с 4-5 одинаковыми буквами: AAAAA ... AAAAB ... AABAA ... ACAAA ... FFFFF. А были все другие, например: ACABA ... ABBBC и т.д.

Передаваемые параметры: s='ABCDEF' - это буквы с которых генерируются размещения, k=5 - это длина результата, povtor=true - для повторения букв.

Код:
function razmeschenie(s: string; k: word; povtor: boolean): tstrings;
var p: pboolean;
  c: string;
  strlist: tstringlist;
procedure proced(zn, dl: word);
  var w: integer;
  begin
    for w := 1 to length(s) do
    if (p^) then
      begin
        c[zn] :=s[w];
        if zn < dl then   proced(zn + 1, dl);
        if zn = dl then  strlist.Add(c);
      end;
  end;
begin
  strlist := tstringlist.Create;
  strlist.Clear;

  new(p);
  if k <= length(s) then p := @povtor else p^ := true;
  setlength(c, k);
  proced(1, k);
  result := strlist;
end;
mnikola2009 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сочетания и Размещения swillrocker Помощь студентам 1 14.11.2011 03:15
Помогите разобраться с повторением при генерации массива в Js BobJs JavaScript, Ajax 3 16.12.2009 21:21
размещения fedd Помощь студентам 0 27.11.2009 22:36
Паскаль... Ветвление с повторением... Сеня Помощь студентам 1 11.02.2009 09:57
предложения, все слова в которых образованны повторением одного символа, и сформировать из них массив kluwa Общие вопросы C/C++ 4 08.12.2007 15:17