this is my code but i think there is a problem in it
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
// NOTE: CHANGE THESE VARIABLES TO MEET THE REQUIREMENTS OF YOUR TESTCASE!!!!
#define numRowsA 3
#define numColumnsA 3
#define numRowsB numColumnsA
#define numColumnsB 3
static double toDouble ( string s);
static long toLong ( string s);
static int toInteger ( string s);
int MatrixA[9] = {1,2,3,4,5,6,7,8,9};
int MatrixB[9]= {10,11,12,13,14,15,16,17,18};
int MatrixMult[9];
int a = 0;
int b = 0;
int c = 0;
void peanomult(int phsA, int phsB, int phsC, int dim);
int main()
{
for (int i =0; i < 9; i++)
{
cout << MatrixA[i];
cout << " ";
}
cout << endl;
cout << endl;
for (int i =0; i < 9; i++)
{
cout << MatrixB[i];
cout << " ";
}
cout << endl;
cout << endl;
peanomult(0, 0, 0, 9);
for (int i =0; i < 9; i++)
{
cout << MatrixMult[i];
cout << " ";
}
cout << endl;
cout << endl;
return 1;
}
//void peanomult(int MatrixA, int MatrixB, int MatrixMult, int dim)
void peanomult(int phsA, int phsB, int phsC, int dim)
{
if (dim == 1)
{
MatrixMult[c] += MatrixA[a] * MatrixB[b];
}
else
{
peanomult( phsA, phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, -phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, phsB, phsC, dim/3); a += phsA; b += phsB;
peanomult( phsA, phsB, -phsC, dim/3); a += phsA; c -= phsC;
peanomult( phsA, -phsB, -phsC, dim/3); a += phsA; c -= phsC;
peanomult( phsA, phsB, -phsC, dim/3); a += phsA; b += phsB;
peanomult( phsA, phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, -phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, phsB, phsC, dim/3); b += phsB; c += phsC;
peanomult( phsA, phsB, phsC, dim/3); a -= phsA; c += phsC;
peanomult( phsA, -phsB, phsC, dim/3); a -= phsA; c += phsC;
peanomult( phsA, phsB, phsC, dim/3); a -= phsA; b += phsB;
peanomult( phsA, phsB, -phsC, dim/3); a -= phsA; c -= phsC;
peanomult( phsA, -phsB, -phsC, dim/3); a -= phsA; c -= phsC;
peanomult( phsA, phsB, -phsC, dim/3); a -= phsA; b += phsB;
peanomult( phsA, phsB, phsC, dim/3); a -= phsA; c += phsC;
peanomult( phsA, -phsB, phsC, dim/3); a -= phsA; c += phsC;
peanomult( phsA, phsB, phsC, dim/3); b += phsB; c += phsC;
peanomult( phsA, phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, -phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, phsB, phsC, dim/3); a += phsA; b += phsB;
peanomult( phsA, phsB, -phsC, dim/3); a += phsA; c -= phsC;
peanomult( phsA, -phsB, -phsC, dim/3); a += phsA; c -= phsC;
peanomult( phsA, phsB, -phsC, dim/3); a += phsA; b += phsB;
peanomult( phsA, phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, -phsB, phsC, dim/3); a += phsA; c += phsC;
peanomult( phsA, phsB, phsC, dim/3);
};
}