View Code of Problem 57

#include <iostream>

using namespace std;

char arr[20][20];

int main() {
    int n;
    cin >> n;
    int width = 2 * n - 1;
    int height = 2 * n - 1;
    int middle = n - 1;
    for (int i = 0; i < n; ++i) {
        int k = 1;
        for (int j = 0; j < width; ++j) {
            if (j >= middle - i && j <= middle + i) {
                arr[i][j] = k + '0';
                arr[height - i - 1][j] = k + '0';
                if (j < middle){
                    k++;
                }else{
                    k--;
                }
            }else {
                arr[i][j] = ' ';
                arr[height - i -1][j] = ' ';
            }
        }
    }

    for (int i = 0; i < height; ++i) {
        for (int j = 0; j < width; ++j){
            cout << arr[i][j];
        }
        cout << endl;
    }
}

Double click to view unformatted code.


Back to problem 57