PDA

Просмотр полной версии : [Си]Перевод словарной записи числа в цифр формат[За вознаграждение]



velviamo
15.12.2006, 23:47
вопрос закрыт

Хыиуду
16.12.2006, 01:59
Ох, если бы не на Си, а на Паскале, а лучше - Дельфи, да не под Линукс, а под винду, да без Лекса, да без Якса, да без конечного автомата - могу сделать здесь, сейчас и бесплатно ;)

velviamo
16.12.2006, 10:20
Ну если, здесь, сейчас и бесплаьно, то делай! Может некоторые идеи можно будет реализовать и в лексе с яком!=))

Хыиуду
16.12.2006, 13:23
{В прошлый раз торопился на электричку, поэтому немеряно налажал}

s:='ONE HUNDRED AND TWENTY-FIVE'
sum:=0;
if pos('ONE',s)=1 then inc(sum,100);
if pos('TWO',s)=1 then inc(sum,200);
{.....до девяти}

if pos('TEN',s)<>0 then begin inc(sum,10); exit; end;
if pos('ELEVEN',s)<>0 then begin inc(sum,11); exit; end;
{... до 19}

if pos('TWELWE',s)<>0 then inc(sum,20);
if pos('THIRTY',s)<>0 then inc(sum,30);
{до 90}

delete(s,1,1); {это чтобы избежать глюков с числами типа 121, 373}
if pos('ONE',s)>1 then inc(sum,1);
if pos('TWO',s)>1 then inc(sum,2);
{... до девяти}