Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите написать небольшую программу
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Uneor
задание:
Из заданного числа удалить заданную цифру и показать полученное число.
Как это сделать? blink.gif
APAL
Var
A : Longint;

Function GetNumCifr(A : Longint) : Byte;
Var l : Byte;
k : LongInt;
Begin
k:=A;l:=0;
While k>0 do
Begin
Inc(l);
k:=k div 10;
End;
GetNumCifr:=l;
End;

Function GetNumInPos(B : Longint;N : Byte) : Byte;
Var ll : Integer;
kk : LongInt;
Begin
kk:=B; ll:=1;
While ll<N do
Begin
Inc(ll);
kk:=kk div 10;
End;
GetNumInPos:=kk mod 10;
End;

Function DelNumInPos(B : Longint;N : Byte) : Longint;
Var mm : Longint;
vv : Byte;
Begin
If N<=GetNumCifr(B) then
Begin
mm:=0;
For vv:=GetNumCifr(B) downto 1 do
If vv<>N then mm:=mm*10+GetNumInPos(B,vv);
DelNumInPos:=mm;
End
else DelNumInPos:=B;
End;

Function SetNumInPos(C : Longint;N,SetNum : Byte) : Longint;
Var mm : Longint;
vv : Byte;
Begin
If N<=GetNumCifr© then
Begin
mm:=0;
For vv:=GetNumCifr© downto 1 do
If vv<>N then mm:=mm*10+GetNumInPos(C,vv)
else mm:=mm*10+SetNum;
SetNumInPos:=mm;
End
else SetNumInPos:=C;
End;

Begin
A:=12345;
Writeln(A);
Writeln('Цифр в числе: ',GetNumCifr(A));
Writeln('Во втором разряде цифра: ',GetNumInPos(A,2));
Writeln('Второй разряд был удалён: ',DelNumInPos(A,2));
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.