Calcul matriciel en C++ - produit d'une matrice par un vecteur

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

int * produit (int **M, int *V, int N)
{
    int *Vp = new int[N];
    for(int i = 0; i < N; i++) 
        Vp[i]=0;
    for(int i = 0; i < N; i++) {
        for(int j = 0; j < N; j++)
            Vp[i] += M[i][j] * V[j];                   
    }
    return Vp;
}

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";
        }
        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++)
M[i][j] =rand()%10;
      affichage(M,n,n);
      
      int V[3]  = {2,6,3};
      cout << "\n V = [ ";
      for(int i = 0; i < n; i++) 
         cout << " "<<V[i]<<" ";
      cout << " ] ";
         
      int *Vp = produit(M,V,n);
      
      cout << "\n Vp = [ ";
      for(int i = 0; i < n; i++) 
         cout << " "<<Vp[i]<<" ";
      cout << " ] ";

      system("pause");
}