Ciao a tutti, eccomi di nuovo!

Sto implementando un programma la cui traccia richiede (Data una matrice N*N) chiesta dall'utente, di calcolare la somma della media dei valori di ogni colonna.

il codice che ho scritto è il seguente:
codice:
//data una matrice N*N, calcolare la somma della media dei valori di ogni colonna



using namespace std;
#include <iostream>
#include <stdlib.h>


int sommaColonne(int mat[20][20], int N){
	
	int somma=0;
	int sum[100];
	int j;
	
	for(int j=0;j<N;j++){
		for (int i=0;i<N;i++){
			somma=somma+mat[i][j];
		
		}
			sum[j]=somma;
	}
	
	return sum[j];
}








int main(){
	
	int i,j,N;
	int mat[20][20];
	float media=0;
	int somma=0;
	cout<<"inserire il numero di righe(=colonne):";
	cin>>N;
	
	for(i=0;i<N;i++){
		for(j=0;j<N;j++){
			cout<<"inserire i valori della matrice:";
			cin>>mat[i][j];
		}
	}
	
		for(j=0;j<N;j++){
			cout<<"la media della colonna"<<" "<<j+1<<" "<<"e':";
			
			cout<<sommaColonne(mat,N)/N;
			cout<<endl;
		}
		
		
		for (j=0;j<1;j++){
			somma=somma+sommaColonne(mat,N)/N;
		}
	
	
	cout<<"la somma delle medie e':"<<somma;
	
	
	return 0;
}
andando a compilare però, mi ritorna sempre il valore 4, immagino ci sia un problema nella funzione, qualcuno può aiutarmi?
grazie in anticipo