экономим совсем по полной
bool b;
for (j=i; b; b=(j<n-i+1), b?A[i][j]=++k:0,j++);
for (j=i; b; b=(j<n-i+1), b?A[j][n-i+1]=++k:0, j++);
for (j=n-i+1; b; b=j>=i,b?A[n-i+1][j]=++k:0,j--);
for (j=n-i; b; b=j>=i+1,b?A[j][i]=++k:0,j--);
а вот так экономят место настоящие джедаи, ступившие на тёмную сторону Силы
bool b;for (j=i; b; b=(j<n-i+1), b?A[i][j]=++k:0,j++);for (j=i; b; b=(j<n-i+1), b?A[j][n-i+1]=++k:0, j++);for (j=n-i+1; b; b=j>=i,b?A[n-i+1][j]=++k:0,j--);for (j=n-i; b; b=j>=i+1,b?A[j][i]=++k:0,j--);