Здравствуйте, ssm, Вы писали:
ssm>Вот простейший конечный автомат из двух состояний:
ssm>ssm>function Check(str : string) : boolean;
ssm>type
ssm> TState = (stNum, stLetter);
ssm>const
ssm> ValidChars = ['а'..'я'];
ssm> ValidNums = ['0'..'9'];
ssm>var
ssm> i : integer;
ssm> st : TState;
ssm>begin
ssm> result := false;
ssm> i := 1;
ssm> st := stNum;
ssm> while(i <= length(str)) do begin
ssm> if(st = stLetter) then begin
ssm> result := false;
ssm> exit;
ssm> end else if(st = stNum) then begin
ssm> if(str[i] in ValidChars) then begin
ssm> st := stLetter;
ssm> result := true;
ssm> end else if not(str[i] in ValidNums) then
ssm> exit;
ssm> end;
ssm> inc(i);
ssm> end;
ssm> result := true;
ssm>end;
ssm>
а если всё тоже самое только на С++ ? (о:
заранее спасибо... мне просто некогда разбирацца с паскалевым кодом... ПЛИИИИЗ