Введите натуральное многозначеое число и определите, верно ли, что в его записи есть две одинаковые цифры, не обязательно стоящие рядом. массивы еще не проходили, поэтому циклы и условия. , !
Суть в том, что переводишь число в строковый формат и далее работаешь с ним как с одномерным массивом (чем и является по сути строка). Во внешнем цикле выбирается по порядку от 1 до (длина строки -1, т.е. до предпоследнего) цифра числа. Во внутреннем цикле эта цифра сравнивается с каждой последующей по-порядку до тех пор пока не найдется одинаковая. Если нашлась, то выход из цикла. Из внешнего цикла так же предусмотрен выход если нашлась пара равных цифр. program z1; var n: int64; l: integer; s: string; i, j: byte; x: boolean; begin writeln ('введите число'); readln (n); Str(n,s); l:=length(s); x:=false; for i:=1 to l-1 do begin for j:=i+1 to l do begin if s[i]=s[j] then begin x:=true; break; end; end; if x=true then break; end; writeln (x); end.
Во внешнем цикле выбирается по порядку от 1 до (длина строки -1, т.е. до предпоследнего) цифра числа. Во внутреннем цикле эта цифра сравнивается с каждой последующей по-порядку до тех пор пока не найдется одинаковая. Если нашлась, то выход из цикла. Из внешнего цикла так же предусмотрен выход если нашлась пара равных цифр.
program z1;
var n: int64; l: integer; s: string; i, j: byte; x: boolean;
begin
writeln ('введите число');
readln (n);
Str(n,s);
l:=length(s);
x:=false;
for i:=1 to l-1 do begin
for j:=i+1 to l do begin
if s[i]=s[j] then begin x:=true; break; end;
end;
if x=true then break;
end;
writeln (x);
end.