Pascal уровень c. ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры (не обязательно стоящие рядом). пример: введите натуральное число: 12342 да. пример: введите натуральное число: 12345 нет. проверьте программу,не работает почему-то program nn; var n,a,b,k,s: integer; begin writeln('введите натуральное число'); readln(n); k: =0; n: =s; while (n> 0) do begin a: =n mod 10; while (n> 0) do begin b: =n mod 100 div 10; if (a=b) then begin k: =k+1; end; n: =n div 10; end; if (k> 0) then writeln('да') else n: =s; n: =n-n mod 10; end; if (k> 0) then writeln ('да') else writeln('нет'); end.
Поэтому программа в основном переделана.
var
n:integer;
a:array[0..9] of boolean;
d,i:byte;
r:boolean;
begin
Writeln('Введите натуральное число'); Readln(n);
for i:=0 to 9 do a[i]:=False;
r:=False;
while n>0 do begin
d:=n mod 10;
if a[d] then begin
r:=True;
break
end
else a[d]:=True;
n:=n div 10
end;
if r then Writeln('да')
else Writeln('нет')
end.