Var x,y,z,f:integer; begin write('Введите число: '); readln(x); while x>0 do begin y:=x mod 10; z:=x div 10; while z>0 do begin if (z mod 10)=y then f:=1; z:=z div 10; end; x:=x div 10; end; if f=1 then writeln('Верно, есть одинаковые цифры') else writeln('Нет одинаковых цифр') end.
Если использовать строковые ф-ии, то программа будет проще: var i,k,f:integer; s,t:string; begin write('Введите число: '); readln(s); k:=length(s); for i:= 1 to k do begin t:=copy(s,i+1,k-i+1); if pos(s[i],t)>=1 then f:=1; end; if f=1 then writeln('Верно, есть одинаковые цифры') else writeln('Нет одинаковых цифр') end.
begin
write('Введите число: ');
readln(x);
while x>0 do
begin
y:=x mod 10;
z:=x div 10;
while z>0 do
begin
if (z mod 10)=y then f:=1;
z:=z div 10;
end;
x:=x div 10;
end;
if f=1 then writeln('Верно, есть одинаковые цифры')
else writeln('Нет одинаковых цифр')
end.
Если использовать строковые ф-ии, то программа будет проще:
var
i,k,f:integer;
s,t:string;
begin
write('Введите число: ');
readln(s);
k:=length(s);
for i:= 1 to k do
begin
t:=copy(s,i+1,k-i+1);
if pos(s[i],t)>=1 then f:=1;
end;
if f=1 then writeln('Верно, есть одинаковые цифры')
else writeln('Нет одинаковых цифр')
end.