Паскаль!!!!! Введите натуральное многозначеое число и определите, верно ли, что в е
Паскаль!!!!!
Введите натуральное многозначеое число и определите, верно ли, что в его записи есть две одинаковые цифры, не обязательно стоящие рядом.
Массивы еще не проходили, поэтому циклы и условия.
Помогите, пожалуйста!!!!!!!!!!!!!
Ответ(ы) на вопрос:
Гость
Суть в том, что переводишь число в строковый формат и далее работаешь с ним как с одномерным массивом (чем и является по сути строка).
Во внешнем цикле выбирается по порядку от 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.
Не нашли ответ?
Похожие вопросы