Mhh ma la diagonale secondaria è quella che va da sopra a destra a sotto a sinistra?
facendo così va? (io non riesco a compilare >.< xD)
void calcolaDiagonaleSecondaria(matrice m , int r, int c,vettore & v){
int i=-1;
for (int j=c;j>0;j--){
i++;
v[i]=m[i][j];
}
se è come penso io (cioè che serve solo per le matrici quadrate xD) qui potresti alleggerire il programma.
invece di:
for (int i=0;i<r;i++){
for (int j=0;j<c;j++)
if(i==j)
v[i]=m[i][j];
potresti fare:
int i=-1;
for (int j=0;j<c;j++)
{
i++;
v[i]=m[i][j];
}