So, I am trying to make a program that computes and outputs the sum of each diagonal in a [10][10] array. This is what I have so far. Yes I know it only adds up the thing row by row then column by column. That's my problem, I have no idea how to find the sum of the diagonals!

Code:#include <stdio.h> #include <stdlib.h> void printArray( const int a[][10]); int main (void) { int a; int i; int x; int total; int num; int array[10][10]; for (i = 0; i < 10; i++) { for ( x = 0; x < 10; x++) { num = 1 + rand() % 10; array[i][x] = num; } } line 22-> printArray ( array ); for ( a = 0; a < 10; a++) { for (i = a; i < 10; i++) { for ( x = 0; x < 10; x++) { total += array[i][x]; printf("%4d\n", total); } } } for ( a = 1; a < 10; a++) { for (i = 0; i < 10; i++) { for ( x = a; x < 10; x++) { total += array[i][x]; printf("%4d\n", total); } } } return 0; } void printArray( const int a[][10]) { int i; int x; for (i = 0; i < 10; i++) { for ( x = 0; x < 10; x++) { printf("%d", a[i][x]); } printf("\n"); } }