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

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

deniska92

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

nayke

Well-Known Member
04.08.2010
310
0
#2
СДЕЛАТЬ В ПАСКАЛЕ.
Дана последовательность натуральных чисел.Выяснить,образуют ли цифры данного натурального числа убывающую(возрастающую) последовательность.
Замечания:
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

Гость
#3
Так дана последовательность чисел или число? или для каждого надо сделать.
Вобщем поиск можно через строку сделать
проверка на возрастание
Код:
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 цифры находить и проверять
ДАНО НАТУРАЛЬНОЕ ЧИСЛО!!!!!
 

nayke

Well-Known Member
04.08.2010
310
0
#4
ДАНО НАТУРАЛЬНОЕ ЧИСЛО!!!!!
ты считываешь число с клавиатуры или как константу в коде. А потом переводишь в строку. Если это допустимо то это проще всего.
Если нет используй 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

Гость
#5
ты считываешь число с клавиатуры или как константу в коде. А потом переводишь в строку. Если это допустимо то это проще всего.
Если нет используй 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;
что-то вроде этого..
а попроще нельзя решить?тоесть как то это всё расписать подробнее????