• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Задача целочисленной арифметики(очень надо)

  • Автор темы deniska92
  • Дата начала
D

deniska92

СДЕЛАТЬ В ПАСКАЛЕ.
Дана последовательность натуральных чисел.Выяснить,образуют ли цифры данного натурального числа убывающую(возрастающую) последовательность.
Замечания:
1.не использовать массивы
2.вывести реультаты в нормальном читабельном виде
 
N

nayke

СДЕЛАТЬ В ПАСКАЛЕ.
Дана последовательность натуральных чисел.Выяснить,образуют ли цифры данного натурального числа убывающую(возрастающую) последовательность.
Замечания:
1.не использовать массивы
2.вывести реультаты в нормальном читабельном виде

Так дана последовательность чисел или число? или для каждого надо сделать.
Вобщем поиск можно через строку сделать
проверка на возрастание
Код:
Val(s[1],CurNum,code)
for i:=2 to Length(s) do
begin
Val(s[i],Num,code)
if CurNum<Num then CurNum:=Num
else begin Vozr:=false;break;end;
end;
еще можно через div и mod цифры находить и проверять
 
D

deniska92

Так дана последовательность чисел или число? или для каждого надо сделать.
Вобщем поиск можно через строку сделать
проверка на возрастание
Код:
Val(s[1],CurNum,code)
for i:=2 to Length(s) do
begin
Val(s[i],Num,code)
if CurNum<Num then CurNum:=Num
else begin Vozr:=false;break;end;
end;
еще можно через div и mod цифры находить и проверять
ДАНО НАТУРАЛЬНОЕ ЧИСЛО!!!!!
 
N

nayke

ДАНО НАТУРАЛЬНОЕ ЧИСЛО!!!!!
ты считываешь число с клавиатуры или как константу в коде. А потом переводишь в строку. Если это допустимо то это проще всего.
Если нет используй div 10 и mod 10 для получения цифр числа.

Код:
prevCifra=Chislo mod 10
while Chislo div 10<>0 do
begin
Chislo:=Chislo div 10;
curCifra=Chislo mod 10
if prevCifra>curCifra then curCifra:=prevCifra
else begin Vozr:=false;break;end;
end;
что-то вроде этого..
 
D

deniska92

ты считываешь число с клавиатуры или как константу в коде. А потом переводишь в строку. Если это допустимо то это проще всего.
Если нет используй div 10 и mod 10 для получения цифр числа.

Код:
prevCifra=Chislo mod 10
while Chislo div 10<>0 do
begin
Chislo:=Chislo div 10;
curCifra=Chislo mod 10
if prevCifra>curCifra then curCifra:=prevCifra
else begin Vozr:=false;break;end;
end;
что-то вроде этого..

а попроще нельзя решить?тоесть как то это всё расписать подробнее????
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!