Идея простая: Вводится не ЧИСЛО, а СТРОКА, состоящая из цифр. Эту строку можно представить как МАССИВ символов и обращаться к ним как к элементам массива. В цикле при обращении к очередному элементу массива при оператора VAL превращаем символ в число и анализируем его на нечетность и если оно нечетно прибавляем его к сумме нечетных.
В Паскале есть стандартная функция Pos, которая возвращает начальную позицию вхождения подстроки в строку или 0, если такое вхождение не обнаружено. С её данная задача решается очень просто.
var s:string; ip,iv:integer; begin Write('Введите строку: '); Readln(s); ip:=Pos('П',s); iv:=Pos('В',s); if ip*iv=0 then Writeln('П или В или обе не найдены в тексте') else if ip<iv then Writeln('П встретилось раньше В') else Writeln('В встретилось раньше П') end.
Тестовое решение: Введите строку: НА ЛУГУ ПАСЕТСЯ КОРОВА П встретилось раньше В
Эту строку можно представить как МАССИВ символов и обращаться к ним как к элементам массива.
В цикле при обращении к очередному элементу массива при оператора VAL превращаем символ в число и анализируем его на нечетность и если оно нечетно прибавляем его к сумме нечетных.
Вот и весь алгоритм.