Дано естественное число. Отыскать наименьшую цифру и приписать её в начало

Дано естественное число. Отыскать наименьшую цифру и приписать её в начало и в конец числа(написать программу в паскале)

Задать свой вопрос
1 ответ
Вот два варианта решения:
1)В первом варианте программка выдает неправильный ответ, если в числе есть желая бы один ноль.

var 
  a, n, i, min, tmp, m: integer; 
 
begin 
  m := 1; 
  read(a); 
  tmp := a; 
  n := 0; 
  min := 10; 
  while tmp gt; 0 do 
   begin 
    n := n + 1; 
    if(tmp mod 10 lt; min) then min := tmp mod 10; 
    tmp := tmp div 10; 
  end; 
  for i := 1 to n do 
    m := m * 10; 
  a := a + (min * m); 
  a := a * 10; 
  a := a + min; 
  write(a); 
end.

2)2-ой вариант с использованием строчки:

var 
  s: string; 
  i, min: integer; 
 
begin 
  readln(s); 
  min := 10; 
  for i := 1 to length(s) do 
    if(strtoint(s[i]) lt; min) then min := strtoint(s[i]); 
  s := s + inttostr(min); 
  s := inttostr(min) + s; 
  writeln(s); 
end.
Максим Тумикин
В 1-ый вариант можно поправить так:
Виолетта Яхибаева
if(min=0)then write(0,a) else write(a);
, оставишь ответ?
Имя:*
E-Mail:


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

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

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

Войти на сайт