// PascalABC.Net
var vowel: set of char = ['а', 'у', 'о', 'ы', 'и', 'э', 'я', 'ю', 'ё', 'е'];
s, substr: string;
begin
s := 'кот в сапогах';
var words := s.Split(' ');
for var i := 0 to words.length - 1 do
begin
for var j := 1 to words[i].Length do
if words[i][j] in vowel then
begin
substr := Copy(words[i], 1, j-1);
Delete(words[i], 1, j-1);
words[i] += substr;
break;
end;
words[i] += 'циус';
end;
writeln(words.JoinIntoString(' '));
end.
Вычитаем первое число из второго.
Если результат отрицательный, то первое меньше второго.
Если нулевой, то они равны.
Если положительный, то первое больше второго.
Найдем разность между первым и вторым значением: c=a-b
Все что нам требуется сделать, это выяснить, является ли с положительным числом.
Например, используя функцию сигнум, можно получить вариант функции Хевисайда, которая будет принимать значение 1 только для положительных значений, а во всех остальных случаях обращаться в ноль. f(c)=[(sgn(c)+1/)2]
В нашем случае можно записать, что max(a,b)=a*f(c)+b*f(-c)
Так мы можем сравнить два числа, не прибегая к логическому сравнению.
Конечно, данный алгоритм реализуем при условии наличия встроенной функции сигнум (она присутствует даже в старом Бейсике ). Но даже если такой встроенной функции нет, ее написание не составит большого труда.