Введите натуральное многозначеое число и определите, верно ли, что в его записи есть две одинаковые цифры, не обязательно стоящие рядом. массивы еще не проходили, поэтому циклы и условия. , !

tvzhanna80 tvzhanna80    1   09.08.2019 06:20    0

Ответы
milena195 milena195  20.08.2020 01:57
Суть в том, что переводишь число в строковый формат и далее работаешь с ним как с одномерным массивом (чем и является по сути строка).
Во внешнем цикле выбирается по порядку от 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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика