Salve a tutti, volevo fare programma c++ che confronta la somma della diagonale principale di una matrice con le somme di tutte le colonne, riportando poi il numero delle colonne la cui somma è uguale alla somma della diagonale.

sdp = somma diagonale principale
sc= vettore contenente le somma delle colonne
nc=numero di colonne la cui somma è uguale a quella della diagonale.


codice:
void Numcolonne_somma(int x[][3], int n)
{
	int sdp = 0; int sc[n]; int nc = 0;
	for (int i = 0; i < n; i++)
	for (int j = 0; j < n; j++)
	{
		if (i == j)
		{
			sdp = sdp + x[i][j];
		}
	}
	for (int j = 0; j < n; j++)
	{
		sc[j] = 0;
		for (int i = 0; i < n; i++)
			sc[j] = sc[j] + x[i][j];
		if (sc[j] == sdp)
			nc++;
	}
	cout << "Numero di colonne uguali= " << nc << endl;
}
Apparentemente funziona e l'ho anche provato, però dice il mio professore che fa schifo, quindi volevo dei consigli su come migliorarlo.