Beh, mi sa che il tuo problema non abbia a che fare con la programmazione.
Semmai hai difficolta' a trattare le matrici.
Se identifichi le righe con il primo indice e le colonne con il secondo
matrice[r][c]
se devi esaminare/gestire gli elementi di una riga, dovrai mantenere costante il primo indice e variare il secondo ... per la riga 2 (tenendo presente che e' la terza dato che il C usa gli indici base 0), dovrai esaminare gli elementi da matrice[2][0] a matrice[2][c-1]
se devi esaminare/gestire gli elementi di una colonna, dovrai mantenere costante il secondo indice e variare il primo ... per la colonna 3 dovrai esaminare gli elementi da matrice[0][3] a matrice[r-1][3]
per la diagonale principale di una matrice quadrata, i valori degli indici dovranno essere uguali e quindi matrice[i][i] con i che va da 0 a m-1 se m e' la dimensione
e cosi' via ...