Информатика, опубликовано 2018-08-22 22:00:40 by Гость

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

Ответ оставил Гость

Суть в том, что переводишь число в строковый формат и далее работаешь с ним как с одномерным массивом (чем и является по сути строка).
Во внешнем цикле выбирается по порядку от 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.

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.