Другие языки программирования и технологии
напишите программу в паскале, пожалуйста
составе программу позволяющую проверить все ли цифры натурально числа М различны.
function Equivalent(x: integer): boolean;
var
n: integer;
begin
Result := False;
n := x mod 10;
repeat
if x mod 10 <> n then
Exit;
x := x div 10;
until x = 0;
Result := True;
end;
Не то накатал
var
n: integer;
begin
Result := False;
n := x mod 10;
repeat
if x mod 10 <> n then
Exit;
x := x div 10;
until x = 0;
Result := True;
end;
Не то накатал
Денис Теслинов
Это проверит все ли СОСЕДНИЕ цифры различны.
function AllDifferent(n:integer):Boolean;
var
Digits, Check:word;
begin
Digits:=0;
AllDifferent:=true;
while n>0 do
begin
Check:=1 shl (n mod 10);
n:=n div 10;
if Digits and Check<>0 then
begin
AllDifferent:=false;
exit;
end;
Digits :=Digits or Check;
end;
end;
Теперь тебе осталось только понять, как это работает.
var
Digits, Check:word;
begin
Digits:=0;
AllDifferent:=true;
while n>0 do
begin
Check:=1 shl (n mod 10);
n:=n div 10;
if Digits and Check<>0 then
begin
AllDifferent:=false;
exit;
end;
Digits :=Digits or Check;
end;
end;
Теперь тебе осталось только понять, как это работает.
Вы не указали конкретно с помощью чего нужно решать, есть несколько способов с помощью строк, массивов или функции, а я применил такой метод:
var M,x,j,N:integer;
begin
write('Vvedite M:');
readln(M);
N:=M;
while (N<>0) do begin
x:=M;
j:=0;
while (x<>0) do
begin
if (x mod 10 = N mod 10) then inc(j);
x:=x div 10;
end;
if (j>1) then break;
N:=N div 10; end;
if (j=1) then writeln('Da')
else writeln('Net');
end.

var M,x,j,N:integer;
begin
write('Vvedite M:');
readln(M);
N:=M;
while (N<>0) do begin
x:=M;
j:=0;
while (x<>0) do
begin
if (x mod 10 = N mod 10) then inc(j);
x:=x div 10;
end;
if (j>1) then break;
N:=N div 10; end;
if (j=1) then writeln('Da')
else writeln('Net');
end.

Или вот так:
var a: array[0..9] of integer;
i,n, p: integer;
begin
for i:=0 to 9 do
a[i]:=0;
readln(n);
p:=0;
while (n>0) and (p=0) do begin
a[n mod 10]+=1;
if a[n mod 10]>1 then
p:=1;
n:=n div 10;
end;
if p=0 then
write(' Все цифры разные')
else
write('Есть повторы');
end.
var a: array[0..9] of integer;
i,n, p: integer;
begin
for i:=0 to 9 do
a[i]:=0;
readln(n);
p:=0;
while (n>0) and (p=0) do begin
a[n mod 10]+=1;
if a[n mod 10]>1 then
p:=1;
n:=n div 10;
end;
if p=0 then
write(' Все цифры разные')
else
write('Есть повторы');
end.
Похожие вопросы
- проверьте правильно ли написана программа в паскале!!! пожалуйста!!!
- Помогите написать программу в Паскале, пожалуйста. см ниже
- Напишите программу на Паскале, пожалуйста
- напишите программу на паскале пожалуйста
- Паскаль написать программу помогите. срочно. Пожалуйста
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- Нужно написать программу на паскале
- Написать программу в Паскале для построения графика функций. К программе желательно составить алгоритм.
- Помогите пожалуйста написать программу в Паскале )) Написать программу для вычисления суммы в массиве из 10 элементов
- Помогите, пожалуйста, написать программу на Паскале хотя бы примерно