Задача в паскале.Ввести натуральное число N. Проверить, расположены ли его цифры в...

0 голосов
69 просмотров

Задача в паскале.
Ввести натуральное число N. Проверить, расположены ли его цифры в порядке неубывания.
Решить НЕ ЧЕРЕЗ МАССИВ. (циклами)


Информатика (277 баллов) | 69 просмотров
0

вывести yes или no?

0

да

Дан 1 ответ
0 голосов

Uses crt;
var
i,a,s,min:integer;
begin
write('vvedite 4islo: ');
read(a);
s:=0;
min:=a mod 10;
while a>=1 do
begin
i:=a mod 10;
a:=a div 10;
if i>min then
s:=s+1;
end;
if s>0 then
write('ne verno')
else
write('4islo zapisano verno');
read;
end. 
так пойдет?

(510 баллов)
0

я не понимаю это, если честно. но что если в первом твоем варианте переменной min в цикле перед строкой i:=a mod 10; присваивать значение i? получается, что i каждый раз будет сравниваться с предыдущей цифрой

0

не проверял))) щас гляну))) но в последнем своем решении я предложил тебе создать 2 числа которые ты вводишь, и min присваивать значение а, отстающее на один шаг))) просто последняя 100% работает, просмотри ещё раз в паскале, там просто нагляднее)))

0

вот такое будет самым простым, если следовать твоему совету)))

0

Uses crt;
var
i,a,s,min,z:integer; label 1;
begin
write('vvedite 4islo: ');
read(a);
s:=0;
min:=a mod 10;
while a>=1 do
begin
i:=a mod 10;
a:=a div 10;
if i>min then
s:=s+1;
if i=min then
z:=z+1;
min:=i;
end;
if z>1 then begin
write('ne verno');
goto 1;
end;
if (s>0) then
write('ne verno ')
else
write('4islo zapisano verno ');
1:read;
end.

0

а что если вот так? вроде получается всегда правильно: Uses crt;
var
i,a,s,min:integer;
begin
write('vvedite 4islo: ');
read(a);
s:=0;
min:=a mod 10;
while a>=1 do
begin min:=i;
i:=a mod 10;
a:=a div 10;
if i>=min then
s:=s+1;
end;
if s>0 then
write('ne verno')
else
write('4islo zapisano verno');
read;
end.

0

123-и сразу ответ не верно))) я ведь не просто так z вводил))) тут условия надо отдельно проверять)))

0

спасибо)

0

а когда появляется Отметить лучший ответ?

0

наверное когда будет их несколько)))

0

не получается(