Secondo me devi fare un po di ripasso al capitolo 1. Sono due modi di scrittura identiche. Nei for se non metti le parentesi significa che dentro il ciclo ci sta solo l'istruzione sottostante quindi
void somma_diagonale_destra(int r, int M[][10], int v[])
{
int somma = 0
for (int i = 0; i<r;i++){
for (int j=0; j<r;j++)
somma += M[j][(i+j)%(r)];
v[i]= somma;
somma = 0;
}}
è identico a questo
void somma_diagonale_destra(int r, int M[][10], int v[])
{
for(i=0; i<r; i++)
{
for (j=0; j<r; j++)
somma += m[j][(i+j) % (r)];
v[i] = somma;
somma = 0;
}
}
che è identico a questo
void somma_diagonale_destra(int r, int M[][10], int v[])
{
for(i=0; i<r; i++)
{
for (j=0; j<r; j++)
{
somma += m[j][(i+j) % (r)];
}
v[i] = somma;
somma = 0;
}
}