goal
file_str("D:/Work/input.txt", InitialString),
string_to_list(InitialString, InitialList),
remove_repeated(InitialList, ListWithoutRepeated),
list_to_string(ListWithoutRepeated, StringWithoutRepeated),
write(StringWithoutRepeated), nl.
А теперь удалив из строки повторные вхождения символов, получаем:
если исходная строка пуста — результатом является пустая строка;
исходная строка разбивается на первый символ (FirstSymbol) и остальные символы (StringTail);
удаляются все вхождения символа FirstSymbol из StringTail — в результате формируется StringTailWithoutSymbol;
StringTailWithoutSymbol обрабатывается рекурсивно, в результате формируется Tail;
в качестве результата возвращается строка, составленная из FirstSymbol и Tail.
const
n=30;
var
a: array [1..n] of integer;
i,j,s:integer;
begin
for i:=1 to n do
readln(a[i]);
j:=0; s:=0;
for i:=1 to n do
if (a[i]>99) and (a[i]<1000)
and (a[i] mod 2 =1) then
begin
inc(j);
s:=s+a[i];
end;
if s<>0 then
writeln(s/j)
else
writeln('Таких нет');
end.