Задачка на языке ПаскаляДано естественное число N. Напишите функцию int MinDigit (int

Задача на языке Паскаля

Дано натуральное число N. Напишите функцию int MinDigit (int n) (C/C++), function MinDigit (n:longint):integer (Pascal) и int MaxDigit (int n) (C/C++),function MaxDigit (n:longint):integer (Pascal), определяющую меньшую и наивеличайшую числа данного числа.

Формат входных данных
Задано единственное число
Формат выходных данных
Нужно вывести наименьшую и величайшую числа данного числа через пробел.

Задать свой вопрос
1 ответ
Сделать эту задачку можно двумя методами. Первый - чисто арифметический. 2-ой - более коварный, через операции над строчками. Мы пойдем вторым путем, он кратче и практичней, такой код будет добиваться меньше ресурсов машины для реализации (что незначительно в таких махоньких задачах, но достаточно критично в реальной жизни, потому обучаемся писать предусмотрительные коды).

Var n:longint;

Function MinDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
 str(n,s);
 a:=s[1];
 for i:=2 to length(s) do
   if s[i]lt;a then a:=s[i];
 val(a,n,c);
 MinDigit:=n;
end;

Function MaxDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
 str(n,s);
 a:=s[1];
 for i:=2 to length(s) do
   if s[i]gt;a then a:=s[i];
 val(a,n,c);
 MaxDigit:=n;
end;

Begin
 readln(n);
 writeln(MinDigit(n),' ',MaxDigit(n));
End.

По факту переменную "c" можно убрать из функций и использовать вместо нее уже не подходящую в конце "i", таким образом избавившись от одной переменной. Но это не принципно на самом деле, к тому же так понятней, какая переменная за что отвечает.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт