Segue o código:
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int tam=50;
int v[tam][tam];
//CARREGA A MATRIZ COM VALORES ALEATÓRIOS ENTRE -2 E 5.
void carrega_matriz(int m[][50],int n){
for (int i=0;i<n;i++){
for(int j=0;j<n;j++){
m[i][j]=rand()%8 - 2;
}
}
}
//COMANDO PARA SOMAR A DIAGONAL PRINCIPAL.
void soma_diagonal_prin(int m[][50],int n){
int soma;
soma=0;
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
if (i==j)
soma=soma + m[i][j];
}
}
cout<<"Soma da diagonal principal: "<<soma<<"\n\n";
}
//COMANDO PARA SOMAR A DIAGONAL SECUNDARIA
void soma_diagonal_secun(int m[][50],int n){
int soma1;
soma1=0;
int i= n - 1;
while (i>0){
for (int j=0;j<n;j++){
soma1= soma1 + m[i][j];
i= i - 1;
}
}
cout<<"Soma da diagonal secundaria: "<<soma1<<"\n\n";
}
//COMANDO PARA SOMAR OS NUMERO POSITIVOS DA MATRIZ GERADA.
void soma_positivos(int m[][50],int n){
int soma2=0;
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
if (m[i][j]>=0)
soma2=soma2 + m[i][j];
}
}
cout<<"Soma dos numeros inteiros da Matriz: "<<soma2<<"\n\n";
}
//COMANDO PARA IMPRIMIR A MATRIZ.
void imprime(int m[][50],int n){
for (int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<m[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
}
//COMANDO PARA MOSTRAR O VALOR DA DETERMINANTE.
void mostrar_deter(int m[][50],int n){
int determinante;
int soma;
soma=0;
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
if (i==j)
soma=soma + m[i][j];
}
}
int soma1;
soma1=0;
int i= n - 1;
while (i>0){
for (int j=0;j<n;j++){
soma1= soma1 + m[i][j];
i= i - 1;
}
}
if (soma>soma1)
determinante= soma - soma1;
else
determinante= soma1 - soma;
cout<<"Valor da determinante: "<<determinante<<"\n\n";
}
int main(){
int n;
srand(time(NULL));
cout<<"Digite o tamanho da Matriz: ";
cin>>n;
cout<<endl;
carrega_matriz(v,n);
imprime (v,n);
soma_diagonal_prin(v,n);
soma_diagonal_secun(v,n);
soma_positivos(v,n);
mostrar_deter(v,n);
system("pause"
}