Trouver les valeurs positives et négatives dans une matrice en C++

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

void affichage(int **Mat, int N, int M){
     for(int i = 0; i < N; i++) {
        for(int j = 0; j < M; j++) {
            cout << Mat[i][j] ;
            cout << "\t";
        }
        //afficher la ligne suivante
        cout << "\n";
     }
     cout << "\n";
}

int main(int argc, char *argv[])
{
      int n=3;
      int** M  = new int* [ n ];
      for (int i=0; i < n; i++)
      M[i] = new int[ n ];
      srand(time(NULL));
      for(int i=0; i<n; i++)
      for(int j=0; j<n; j++)
        //Générer des nombre aléatoires entre 0 et 200 après soustraire 100
        //ex : si rand génere 74 alors 74-100 = -36
M[i][j] =rand()%200-100
      affichage(M,n,n);
      
      int negative = 0;
      int positive = 0;
      //parcourir la matrice
      for(int i=0; i<n; i++)
      for(int j=0; j<n; j++)
      {
          if(M[i][j]<0)
             negative++;
          else
             positive++;       
      }
      cout << "\n Le nombre de valeur négative est "<<negative;
      cout << "\n Le nombre de valeur positive est "<<positive<<"\n";
      system("pause");
}