IL SECONDO quesito non necessiterebbe di un algortimo e vista la sua semplicità risulta un processo non molto "astratto" e "generico" ... cmq sono arrivato a questa soluzione(provalo ) :
codice:
/*  somma dei 4 angoli di una matrice quadrata n x n */
#include<stdio.h>

const int n=5;
 
int main(){

int matrix[n][n],i,j;


printf("\nInserisci gli elementi della matrice quadrata %d x %d\n ",n,n);

for(i=0;i<n;i++)
 for(j=0;j<n;j++)
  scanf("%d",&matrix[i][j]);
  
  
/* calcolo somma 4 angoli di una matrice n*n * /

int somma=0,tmp=0;

i=1; j=1;
while(tmp<2){
somma +=matrix[i][j];
j=n; tmp++;
}

i=n; j=n; tmp=0;
while(tmp<2){
somma +=matrix[i][j];
j=1; tmp++;
}

printf("\nSOMMA = %d",somma);
getchar();
return 0;

}