Цитата:
Сообщение от Guneska
Простите, а почему вы использовали "break"? Вы закомментировали это как прерывание цикла, но почему Вы его здесь использовали? Зачем?
|
Процедуру "Break" можно использовать только для прерывания цикла и ни для чего больше. В данном случае внешний цикл (по переменной i) проходится по всем символам строки, а внутренний цикл (по переменной j) ищет очередной символ в строке цифр в первом случае и в строке латинских символов во втором случае, если символ найден он добавляется в соответствующую результирующую строку и внутренний цикл прерывается так как символ найден и нет смысла дальше его искать.
По моему объяснение получилось более запутанным, чем сам исходный код.
Кстати код очень не оптимальный и я не могу на него спокойно смотреть.

Кроме того он не будет работать с прописными латинскими буквами, а по условию должен.
Тот "кусок" программы в котором циклы можно сократить как минимум к такому виду, с единственным циклом:
Код:
for i := 1 to len do
begin
case str[i] of
'0'..'9': res1 := res1 + str[i];
'a'..'z', 'A'..'Z': res2 := res2 + str[i];
end;
end;