Помогите решить задачу — «разделите точками цифры заданного числа группами по три, начиная справа». Число — натуральное

Помогите решить задачу - "разделите точками цифры заданного числа группами по три, начиная справа". Число - натуральное.

  • Считываешь число как строку, считаешь колво чисел, записываешь например в переменную n, выводишь строку посимвольно, с каждым шагом уменьшая n. Когда n%3=0, "."s[j] иначе просто выводишь s[j]
  • делим на тысячу и складываем остатки в строку через точку
  • # include
    #include
    #include
    using namespace std;

    int main()
    {
    string str; // строка для числа
    getline(cin,str); // читаем число

    int i = 0;// счётчик

    for (string::iterator it = str.end(); it != str.begin(); it--)// создаём итератор с указателем на конец строкии, идём назад пока он не станет равен началу
    {
    if ( i%3==0 && i != 0 ) { str.insert(it,'.'); i=0;} //если счётчик делится без остатка на 3 и не равен 0 вставляем перед итератором точку, и обнуляем счётчик
    i++; // i+1
    }
    cout < < str; //выводим строку
    }