Ho provato a risolvere il tuo problema e ho , praticamente addottato il tuo stesso
approccio .
io ho dichiarato una matrice 10 x 10
e suddiviso il programma in due funzioni "moduli"
#define N 10
void Trova_diagonali(int X[][N],int out[]);
float Media(int dati[]);
ti posto il codice della funzione trova diagonali cosi puoi avere un idea
codice:
void Trova_diagonali(int x[][N],int out[])
{
int i,j,k;
for(i=0;i<N;i++)
{
// prima diagonale
out[i]=x[i][i];
}
for(j=N-1,k=0;j>=0;j--,i++,k++)
{
//seconda diagolane
out[i]=x[j][k];
}
}