请问这怎么用c++实现?

要求:
编程实现:输出由数字组成的倒金字塔图形。
(1)主函数功能:可多次从键盘输入行数n、调用子函数输出n行由数字组成的倒金字塔图形。
(2)子函数功能:输出n行由数字组成的倒金字塔图形,函数原型为:void putgraph(int n);
谢谢

#include <iostream>
using namespace std;

void putgraph(int n);

int main() {
    int n;

    while (true) {
        cout << "请输入行数(输入0退出):";
        cin >> n;

        if (n == 0) {
            break;
        }

        putgraph(n);
    }

    return 0;
}

void putgraph(int n) {
    for (int i = n; i >= 1; i--) {
        for (int j = 1; j <= n - i; j++) {
            cout << "  ";
        }

        for (int j = 1; j <= i * 2 - 1; j++) {
            cout << i << " ";
        }

        cout << endl;
    }
}