Intendevi questo?
int main()
{
int mat[MATRICE][MATRICE];
//azzero;
int x,y,xy;
for (y = 0;y < MATRICE ;y++)
for (x = 0;x < MATRICE ;x++)
mat[y][x] = 0;
//diagonale
for (xy = 0;xy < MATRICE ;xy++)
mat[xy][xy] = 1;
//sopradiagonale y - n
int n = 1;
for (x = 0,y = 0 - n; x < MATRICE ; x++,y++)
{
if ( y >= 0)
mat[y][x] = 2;
}
//sopradiagonale x + n
n = 2;
for (x = 0 + n,y = 0; x < MATRICE ; x++,y++)
{
if ( x >= 0)
mat[y][x] = 3;
}
for (y = 0;y < MATRICE ;y++)
{
for (x = 0;x < MATRICE ;x++)
{
printf("%d\t",mat[y][x]);
}
printf("\n");
}
return 0;
}