Практика программирования (Бейсик, Си, Паскаль)


         

Справа налево оно выглядит так


RЕМ Перестановка старших и младших разрядов в числе

DECLARE FUNCTION invert!(N&)

CLS

INPUT "Введите целое число : ",М&

PRINT " Справа налево оно выглядит так ";invert(MS)

END

FUNCTION invert(N&)

Res&=0: sign=SGN(N&) : ' Учет знака числа

IF N&<0 THEN N&=-N& '

DO

k%=(N& MOD 10) : ' очередная цифра справа
Res&=Res&*10+k% : ' формирование перевернутого результата
N&=(Ns-k%)/10 : ' удаление обработанной цифры

LOOP UNTIL N&=0

invert=Res&*sign : ' приклеили знак

END FUNCTION

Программа 2_16.с

/* Перестановка старших и младших разрядов в числе */
#include <stdlib.h>
long invert(long N);

main()
{
' long M;

printf("\nВведите целое число : ");

scanf("%ld",&M);

printf("\nСправа налево оно выглядит так %ld",invert(M));
getch();
}

long invert(long N) {/* инвертирование числа */

long Result=0, sign=l;
/* Учет знака числа */
if(N<0)
{ N=-N; sign=-l;}
while (N!=0) {

Result=Result*10 + (N % 10);
/* формирование результата */
N=N/10;
/* удаление обработанной цифры */

}

return Result*sign; /* приклеили знак */ }

Программа 2._16.pas

program rotate;

{ Перестановка старших и младших разрядов в числе }

var

N:longint;

function invert(N:longint):longint; const

Result:longint=0; sign:shortint=l;
begin

if N<0 then { Учет знака числа }
begin N:=-N;
sign:=-l;
end;

while (N<>0) do begin
Result:=Result*10+(N mod 10);{ формирование результата }

N:=N div 10; { удаление обработанной цифры }
end;

invert:=Result*sign; { приклеили знак }
end;
begin

write('Введите целое число : ');

readln(N);

writeln('Справа налево оно выглядит так : ',invert(N));

readln;
end.

Задание 2.17. Числовые палиндромы

Натуральное число N = a1a2... ak называют палиндромом, если его величина совпадает со значением, прочитанным справа налево, NI ak...a2a1. При этом предполагается, что a1> о. Например, 1881 — палиндром, а 1812 — нет. Составить функцию paiindrom(n), аргументом которой является длинное положительное целое число. Функция должна возвращать значение true (Паскаль) или 1 (QBasic, Си), если ее аргумент является числовым палиндромом.

Содержание  Назад  Вперед