Показать сообщение отдельно
  #2  
Старый 10.02.2013, 10:03
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

можно найти код для получения комбинаций, навроде [1,2][1,3]...
и увеличить буквы по этим индексам,

ещё есть функция product (исодник на си при клике), можно оттуда скопировать описание, может что и найдётся

---
написал что-то вроде этой функции product
Код:
join(product([['a','A'],['b','B']])[0]) = 'AB'
join(product([['a','A'],['b','B']])[2*2 - 1]) = 'ab'

function product(given: array of smy): aamy;
var givens: aamy; i, j, len, count, step, current_count: integer;
begin
  count := length(given);

  setlength(givens, length(given));
  for i := 0 to high(givens) do
    givens[i] := to_array(given[i]);

  len := 1;
  for i := 0 to high(givens) do
    len := len * length(givens[i]);

  setlength(result, len);
  for i := 0 to high(result) do
    setlength(result[i], count);


  step := 1;
  for j := 0 to count - 1 do
  begin
    current_count := length(givens[j]);
    for i := 0 to len - 1 do
      result[i][j] := givens[j][(i div step) mod current_count];
    step := step * length(givens[j]);
  end;


  for i := 0 to high(givens) do
    setlength(givens[i], 0);
  setlength(givens, 0);
end; 
Вложения
Тип файла: 7z product.7z (1.6 Кбайт, 0 просмотров)
__________________
>woweook<
Ответить с цитированием