Конференция "Начинающим" » Перебор символов
 
  • Крылов И.В. (31.10.18 17:01) [0]
    Здравствуйте мастера! Пробую сделать программу для перестановок символов в строке(для игры, не брутфорс). Есть строка набор символов условно: абвгде. Нужно из них составить все возможные варианты строки заданной длинны, например из трех символов:
    абв
    абг
    абд
    абе
    и т.д...
    Пробовал делать циклами, но символы повторялись у меня:
    ааб
    аав
    ааг
    и т.д..
    Подскажите пожалуйста как написать правильно код для вывода всех возможных вариантов в Мемо например?
  • anonims (01.11.18 11:20) [1]
    самый простой на циклах

    > Пробовал делать циклами, но символы повторялись у меня:


    for i1:=ord('a') to ord('e') do begin
    for i2:=ord('a') to ord('e') do begin
     if i1=i2 then continue; //чтобы НЕ повторялось первое на втором
    for i3:=ord('a') to ord('e') do begin
     if i3=i1 then continue;
     if i3=i2 then continue;
    for i4:=ord('a') to ord('e') do begin
     if i4=i1 then continue;
     if i4=i2 then continue;
     if i4=i3 then continue;
    ....
    s:=chr(i1)+chr(i2)+chr(i3)+chr(i4) +...;
    end;
    ...
    end;

  • Крылов И.В. (01.11.18 13:56) [2]
    >anonims Спасибо! попробую...
  • Sha © (01.11.18 17:42) [3]
    Перебор перестановок, размещений, сочетаний http://guildalfa.ru/alsha/node/26
  • Крылов И.В. (05.11.18 12:12) [4]
    >Sha Спасибо! почитаю...
 
Конференция "Начинающим" » Перебор символов
Есть новые Нет новых   [134427   +34][b:0][p:0.001]