Răspuns:
#include <iostream>
using namespace std;
int n, m, poz, i,j,sp,s,t[11], nc,r,k;
int main()
{
cin >> n;
while (n)
{
t[++j]=n%10;
n/=10;
}
nc=j;
for (i=1; i<=nc/2; i++)
{
m=t[i]; t[i]=t[nc-i+1]; t[nc-i+1]=m;
}
m=nc/2; r=nc%2; sp=m;
poz=m;
if (r) {poz=m+1; k=poz;++m; ++sp;}
else k=poz+1;
for (i=1; i<=m; i++)
{
--sp;
for (int s=1; s<=sp; s++) cout << " ";
for (j=poz; j<=k; j++) cout << t[j];
cout << endl;
--poz; k+=1;
}
}
Explicație: