- Процедура – це... А) опис елемента керування; Б) послідовність операторів, які виконуються у відповідь на деяку подію; В) послідовність операторів, які виконуються людиною; Г) подія, що відбувається з елементом керування.
Var x,y,z,f:integer; begin write('Введите число: '); readln(x); while x>0 do begin y:=x mod 10; z:=x div 10; while z>0 do begin if (z mod 10)=y then f:=1; z:=z div 10; end; x:=x div 10; end; if f=1 then writeln('Верно, есть одинаковые цифры') else writeln('Нет одинаковых цифр') end.
Если использовать строковые ф-ии, то программа будет проще: var i,k,f:integer; s,t:string; begin write('Введите число: '); readln(s); k:=length(s); for i:= 1 to k do begin t:=copy(s,i+1,k-i+1); if pos(s[i],t)>=1 then f:=1; end; if f=1 then writeln('Верно, есть одинаковые цифры') else writeln('Нет одинаковых цифр') end.
Program HardZadacha; Var 1,2,3,4,5,6,7,8,9,0:array [0..5] of integer; a,i,x:integer; begin Writeln('Введите целое число : '); Read(a); for i:=1 to 5 do begin if a mod 10 =0 then 0[i]:=0[i]+1; if a mod 10 =1 then 1[i]:=1[i]+1; if a mod 10 =2 then 2[i]:=2[i]+1; if a mod 10 =3 then 3[i]:=3[i]+1; if a mod 10 =4 then 4[i]:=4[i]+1; if a mod 10 =5 then 5[i]:=5[i]+1; if a mod 10 =6 then 6[i]:=6[i]+1; if a mod 10 =7 then 7[i]:=7[i]+1; if a mod 10 =8 then 8[i]:=8[i]+1; if a mod 10 =9 then 9[i]:=9[i]+1; a:=a mod 10; end;
for i:=2 to 5 do begin if 0[i]+0[i-1]>1 then x:=1; if 1[i]+1[i-1]>1 then x:=1; if 2[i]+2[i-1]>1 then x:=1; if 3[i]+3[i-1]>1 then x:=1; if 4[i]+4[i-1]>1 then x:=1; if 5[i]+5[i-1]>1 then x:=1; if 6[i]+6[i-1]>1 then x:=1; if 7[i]+7[i-1]>1 then x:=1; if 8[i]+8[i-1]>1 then x:=1; if 9[i]+9[i-1]>1 then x:=1; end; if x=1 then writeln('Есть повторяющие цифры') else writeln('Нет повторяющихся цифр'); end.
begin
write('Введите число: ');
readln(x);
while x>0 do
begin
y:=x mod 10;
z:=x div 10;
while z>0 do
begin
if (z mod 10)=y then f:=1;
z:=z div 10;
end;
x:=x div 10;
end;
if f=1 then writeln('Верно, есть одинаковые цифры')
else writeln('Нет одинаковых цифр')
end.
Если использовать строковые ф-ии, то программа будет проще:
var
i,k,f:integer;
s,t:string;
begin
write('Введите число: ');
readln(s);
k:=length(s);
for i:= 1 to k do
begin
t:=copy(s,i+1,k-i+1);
if pos(s[i],t)>=1 then f:=1;
end;
if f=1 then writeln('Верно, есть одинаковые цифры')
else writeln('Нет одинаковых цифр')
end.
Var 1,2,3,4,5,6,7,8,9,0:array [0..5] of integer;
a,i,x:integer;
begin
Writeln('Введите целое число : ');
Read(a);
for i:=1 to 5 do
begin
if a mod 10 =0 then 0[i]:=0[i]+1;
if a mod 10 =1 then 1[i]:=1[i]+1;
if a mod 10 =2 then 2[i]:=2[i]+1;
if a mod 10 =3 then 3[i]:=3[i]+1;
if a mod 10 =4 then 4[i]:=4[i]+1;
if a mod 10 =5 then 5[i]:=5[i]+1;
if a mod 10 =6 then 6[i]:=6[i]+1;
if a mod 10 =7 then 7[i]:=7[i]+1;
if a mod 10 =8 then 8[i]:=8[i]+1;
if a mod 10 =9 then 9[i]:=9[i]+1;
a:=a mod 10;
end;
for i:=2 to 5 do
begin
if 0[i]+0[i-1]>1 then x:=1;
if 1[i]+1[i-1]>1 then x:=1;
if 2[i]+2[i-1]>1 then x:=1;
if 3[i]+3[i-1]>1 then x:=1;
if 4[i]+4[i-1]>1 then x:=1;
if 5[i]+5[i-1]>1 then x:=1;
if 6[i]+6[i-1]>1 then x:=1;
if 7[i]+7[i-1]>1 then x:=1;
if 8[i]+8[i-1]>1 then x:=1;
if 9[i]+9[i-1]>1 then x:=1;
end;
if x=1 then writeln('Есть повторяющие цифры') else writeln('Нет повторяющихся цифр');
end.