Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > перебор всех вариантов строки


Автор: Gigabyte 2.7.2007, 12:31
помогите разработать функцию входными параметрами которой будут символы из которых состоит данная строка и входная сторока
на выходе должна быть следующая строка...

ни как не могу сделать что бы он не пропускал некоторые варианты 

вот что у меня получилось(правда очень криво=) )

Код

var
nstring:string;

function plusstring(fkeys,ins:string):string;
var
 l,lk,n,ti:integer;
 t:string;
begin
  n:=1;
  l:=length(ins);
  lk:=length(fkeys);
  while l<>0 do
   begin
    ti:=pos(ins[l-n+1],fkeys);
     if ti=lk then
      begin
        if n<>l then
         begin
          ins[l-n+1]:=fkeys[1];
          n:=n+1;
         end
        else
         begin
          ins:=fkeys[1]+ins;
          l:=l+1;
         end;
      end
     else
      begin
        ins[l-n+1]:=fkeys[ti+1];
       break;
      end;
   end;
plusstring:=ins;
end;





Автор: former 2.7.2007, 12:37
Цитата(Gigabyte @  2.7.2007,  12:31 Найти цитируемый пост)
символы из которых состоит данная строка и входная сторока
на выходе должна быть следующая строка...



Что-то завернул головоломк. Приведи пример того, что должно получиться.

Автор: Gigabyte 2.7.2007, 12:41
plusstring('0123456789','345') на выходе 346
plusstring('0123456789','119') на выходе 120
и тд
только что бы строчки 01, 002, и тд. не пропускались

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)