Задача в паскале. Ввести натуральное число N. Проверить, расположены ли его цифры в порядке неубывания. Решить НЕ ЧЕРЕЗ МАССИВ. (циклами)
Answers & Comments
karimPhoenix
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. так пойдет?
1 votes Thanks 2
Whut
я не понимаю это, если честно. но что если в первом твоем варианте переменной min в цикле перед строкой i:=a mod 10; присваивать значение i? получается, что i каждый раз будет сравниваться с предыдущей цифрой
karimPhoenix
не проверял))) щас гляну))) но в последнем своем решении я предложил тебе создать 2 числа которые ты вводишь, и min присваивать значение а, отстающее на один шаг))) просто последняя 100% работает, просмотри ещё раз в паскале, там просто нагляднее)))
karimPhoenix
вот такое будет самым простым, если следовать твоему совету)))
karimPhoenix
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.
Whut
а что если вот так? вроде получается всегда правильно: 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.
karimPhoenix
123-и сразу ответ не верно))) я ведь не просто так z вводил))) тут условия надо отдельно проверять)))
Answers & Comments
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.
так пойдет?
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.
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.