Предмет: Информатика, автор: shelashevadasha

програма в паскаль
Ввести ціле число і визначити, чи правда, що в його записі є дві однакові цифри.
Приклад:
Ввести ціле число: Ввести ціле число:
1234 1224
Ні. Так.

Ответы

Автор ответа: petyaGavrikov
0
Есть много разных способов решения этой задачи. Например:
var n:integer; b:boolean; m:set of 0..9;
begin
write('n='); readln(n);
m:=[];
b:=false;
while (n>0) and not b do
 if n mod 10 in m then b:=true else begin m:=m+[n mod 10]; n:=n div 10; end;
if b then writeln('Да') else writeln('Нет');
end.

Пример:
n=123432
Да

Вот ещё вариант:
var n,m,n1,m1,b:integer;
begin
write('n='); readln(n);
b:=0;
while n>0 do
 begin
 m:=n mod 10;
 n:=n div 10;
 n1:=n;
 while n1>0 do
   begin
    m1:=n1 mod 10;
    if m=m1 then b:=1;
    n1:=n1 div 10;
    end;
 end;
if b=1 then writeln('Да') else writeln('Нет');
end.
Автор ответа: shelashevadasha
0
а можно как-то заменить b:boolean; m:set of 0..9; ? мы такое еще не проходили
Автор ответа: petyaGavrikov
0
А что проходили? Строки, массивы?
Автор ответа: shelashevadasha
0
из типов в паскале только integer, real, и стандартные. такого не было
Автор ответа: petyaGavrikov
0
Очень странно, что не проходили boolean. Это стандартный тип (логический).
Похожие вопросы
Предмет: География, автор: akerkeasemzhan