Дублировать максимальную цифру из числа

Подскажите пожалуйста. Дано рандомное число, введённое с клавиатуры.Нужно было найти максимальную цифру в числе, это сделал. Теперь нужно максимально большую цифру из этого числа продублировать(их может быть несколько). Например: ввели число 582483 - ответ должен быть 58824883. Заранее спасибо за помощь

#include <iostream>
using namespace std;
void main()
{
  setlocale(LC_ALL, "Russian");
  int n, x;
  int max;
  cout << "Введите число\n";
  cin >> n;
  max = n % 10;    //находим последнюю цифру и считаем ее наибольшей
  while (n != 0)          //находим максимальное  //Просматриваем все цифры от 0 до 9
  {
    x = n % 10;
    if (x > max)
    {
      max = x;
    }
      n = n / 10;
  }
 }```

Ответы (2 шт):

Автор решения: S.H.

Я попробовал учесть случай отрицательного числа и сделать это максимально на стандартных функциях.

Поучилось как то так:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
  setlocale(LC_ALL, "Russian");
  int n;
  cout << "Введите число\n";
  cin >> n;
  
  bool nsign=n<0;
  n = n<0 ? -n : n;
  // разбиваем на цифры
  vector<int> digits;
  while(n!=0){
    int d=n%10;
    digits.push_back(d);
    n=n/10;
  }
  // определяем максимальную цифру
  auto max_iter=max_element(digits.begin(), digits.end());
  auto maxd=digits[distance(digits.begin(), max_iter)];
  // переворачиваем вектор
  reverse(digits.begin(), digits.end());
  // выводим знак
  cout << (nsign ? "-" : "");
  // выводим цифры, дублируя максимальную
  for( auto& x : digits ){
    cout << x;
    if (x==maxd)
      cout << x;
  }
  cout << endl;
}
  

PS. И, кстати, думая, как не делать reverse вектору - наткулся на обсуждение reverse adapter'ов

→ Ссылка
Автор решения: Mikhailo

А вот так мы не ограничены типом и размером числа, можем вводить хоть -3.1415E92:

int main() {
    string n;
    cin >> n;
    char M = '0';
    for (char c : n) if (M < c && isdigit(c)) M = c;
    for (char c : n) {
        cout << c;
        if (M == c) cout << c;
        }
    }
→ Ссылка