Salve ragazzi!! Vi posto questo codice, data una matrice N*N dovrebbe sommare gli elem. della diagonale principale e secondaria e salvare tali somme  all'interno di un vettore di cardinalità N!! La somma degli elm. della diagonale principale viene eseguita mentre quella della diagonale secondaria no!! Potreste darmi un piccolo aiuto??
#include<iostream>
using std::cout;
using std::cin;
#include<cstdlib>
#include<iomanip>
using std::setw;
void Leggi_mat( int *a, int N){
	
	
	for(int i=0;i<N;i++){
		for(int j=0;j<N;j++){
			cout<<"\nInserisci elemento a["<<i<<"] ["<<j<<"] : ";
			cin>>a[i*N+j];
		}
	}
	
	cout<<"\nLa matrice caricata vale: \n";
	
	for(int i=0;i<N;i++){
		for(int j=0;j<N;j++)
			cout<<setw(5)<<a[i*N+j];
			cout<<"\n";
}
return;
}
void Somma_vet(int *a,int *vettore, int N){
	for(int i=0;i<N;i++){
		for(int nc=0;nc<N;nc++){
		
			if(i==nc){
			
			
			vettore[nc]+=a[i*N+nc];
		}
	else if(i==N-1-nc){
			vettore[nc]+=a[i*N-1+nc];
		}
}
}
	cout<<"Il vettore vale: \n";
	for(int i=0;i<N;i++){
		cout<<setw(5)<<vettore[i];
	}
	return;
}
int main() {
	int N;
	cout<<"Digita numero di righe ecolonne: ";
	cin>>N;
	int *a1;
	a1=(int*)malloc(N*N*sizeof(int));
		Leggi_mat(a1,N);
	int *vettore;
	vettore=(int*)calloc(N,sizeof(int));
	Somma_vet(a1,vettore,N);
	
	free(a1);
	free(vettore);
}