Задача на языке ПаскаляДано натуральное число 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), опред...

Задача на языке Паскаля Дано натуральное число 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), определяющую наименьшую и наибольшую цифры данного числа. Формат входных данных Задано единственное число Формат выходных данных Необходимо вывести  наименьшую и наибольшую цифры данного числа через пробел.
Гость
Ответ(ы) на вопрос:
Гость
Сделать эту задачу можно двумя способами. Первый - чисто арифметический. Второй - более хитрый, через операции над строками. Мы пойдем вторым путем, он короче и практичней, такой код будет требовать меньше ресурсов машины для реализации (что незаметно в таких маленьких задачках, но довольно критично в реальной жизни, поэтому учимся писать дальновидные коды). 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]a then a:=s[i];  val(a,n,c);  MaxDigit:=n; end; Begin  readln(n);  writeln(MinDigit(n),' ',MaxDigit(n)); End. По факту переменную "c" можно убрать из функций и использовать вместо нее уже не нужную в конце "i", таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы