У меня есть этот код возвращает строку в нижнем регистре, используя рекурсию:Чтобы прописные рекурсивный алгоритм
function min(ch:string):string;
begin
if (ch = '') then
min:= ''
else
if (ch[1] in ['A'..'Z']) then
begin
ch[1]:=chr(ord(ch[1])+32);
min:= ch[1] + min(copy(ch,2,length(ch)-1));
end;
end;
Но это не работает:
Когда я запускаю его на примере min('AbC')
выход a
только нет abc
.
Где находится проблема?
Как это не работает? Что происходит, когда вы запускаете его? –
* Это не работает * не является осмысленным описанием проблемы. Как именно это * не работает *? Вы получаете ошибки компилятора? Если да, то что они ** точно **? Скомпилирует ли он, но производит результат, отличный от ожидаемого? Если да, то какой вклад вы предоставляли и выводили, ожидали ли вы, и что вы получили вместо этого? –
И, что ** точно ** вы ожидаете от этого? – MartynA