В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
orlovs2017
orlovs2017
08.12.2022 06:17 •  Информатика

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.

Ответ:
nikitka199821
nikitka199821
07.10.2020 21:50
В программе алгоритм неверный, так дубликаты не найти.
Поэтому программа в основном переделана.

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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?