when I tried to multiple two negative numbers the value it is zero in c++, for example -5 * -3 the result is zero, why? this is my code
  #include <bits/stdc++.h>
      #include <iostream>
   using namespace std;
     void Multiply(const int v_arr[], const int m_arr[][3], int signed 
  o_arr[], int size)
{
for (int i = 0; i < size; i++) {
    for (int j = 0; j < size; j++) {
        o_arr[i] = 0;
        for (int k = 0; k < 3; k++)
            o_arr[i] += v_arr[k] * m_arr[k][i];
    }
}
//End your code here
    }
    int main()
     {
  int n;
   cin >> n;
int v_array[n];
int m_array[n][3];
int signed o_array[3];
for (int i = 0; i < n; i++) {
    cin >> v_array[i];
}
for (int i = 0; i < n; i++) {
    for (int j = 0; j < 3; j++) {
        cin >> m_array[i][j];
    }
}
      //fuction
Multiply(v_array, m_array, o_array, n);
for (int j = 0; j < 3; j++) {
    cout << o_array[j] << " ";
   }
     return 0;
  }
how to fix it to get the correct result? the input is
2 2 -3 2 -3 2 -4
 
    