Diagonal Principal e Secundária - Matriz 4x4

Olá, pessoal!

Estou criando um programa simples com base em um menu de seleção, para mostrar as informações de uma matriz 4x4. Eu gostaria de imprimir os valores da diagonal principal e secundária da matriz, da seguinte maneira:

Ex. Diagonal Principal

1

 1

      1

            1

Ex. Diagonal Secundária

                                              1

                                        1

                                  1

                            1

Já pesquisei no Google, mas não encontrei nada a respeito desse tipo de impressão.

Alguém, sabe como fazer isso? Abaixo está o trecho do meu código, onde faz a impressão dos valores da diagonal principal e secundária, conforme o menu de escolha.

if (opcao == 2){
for (l = 0; l < 4; l++){
printf ("\n%5d", mat[l][l]);
}
cout << “\n”;
}
if (opcao == 3){
for (l = 0; l < 4; l++){
for (c = 0; c < 4; c++){
if (l + c == 3){
printf ("\n%5d\n", mat[l][c]);
}
//cout << “\n”;
}
}
}

Da forma que o código está, a impressão ocorre da seguinte maneira, tanto para a diagonal principal e secundária.

Ex.

1

1

1

1

Se alguém puder me ajudar, eu agradeço.
identar texto pré-formatado por 4 espaços

Para cada nova linha, incrementa um espaço antes de imprimir o valor, quando diagonal principal.;
Para cada nova linha, decrementa um espaço, quando diagonal secundária.