program cyb7;
uses
Crt;
var
s: string;
i: byte;
zifru: set of char;
begin
ClrScr;
zifru:= ['0','1','2','3','4','5','6','7','8','9'];
writeln('Vvedite formulu: ');
readln(s);
for i:= 1 to Length(s) do
if s[i] in zifru then
exclude(zifru,s[i]);
writeln('Zifru ne vhodiashie v formulu: ');
for i:= 0 to 9 do
if chr(ord('0')+i) in zifru then
write(chr(ord('0')+i),' ');
readln;
end.
Вариант 2
uses crt;
var s:string; //строка (формула)
m:set of char;//множество
i:integer; //численный счетчик
j:char; //символьный счетчик
begin
clrscr;
write('Vvedite formulu:');
readln(s);
m:=[]; //пустое множество
for i:=1 to length(s) do
if s[i] in ['0'..'9'] then //если цифра, то заносим во множество
m:=m+[s[i]];
for j:='0' to '9' do
if not (j in m) then //если какой-то цифры нет во множестве, выводим
write(j,' ');
readln
end.