can someone help mi out with how to write a simple(2X2) matrix....I need help only with the loop used..... I got a wrong answer with what i got below

const int Row = 2;
const int Col = 2;
int main()
{
      int MatrixA[Row][Col] = {1,2,3,2};
      int MatrixB[Row][Col] = {1,1,2,1};
      int MatrixC[Row][Col] = {0};

      for(int i = 0; i < Row ; i++)
      {
              for(int j = 0; j < Col; j++){
              MatrixC[i][j] = (MatrixA[i][j] * MatrixB[i][j]) + (MatrixA[i][j+1] * MatrixB[i+1][j]);
              cout<<MatrixC[i][j];
              }
             cout<<endl;
       }



      system("PAUSE");
      return 0;
}

:)

Recommended Answers

All 3 Replies

You have to check if you have enough room before you use [i+1], [j+1] ; because you're going past the your array boundaries.
See how it goes past at [0][2]:

MatrixC[0][0] = (MatrixA[0][0] * MatrixB[0][0]) + (MatrixA[0][1] * MatrixB[1][0]);
MatrixC[0][1] = (MatrixA[0][1] * MatrixB[0][1]) + (MatrixA[0][2] * MatrixB[1][1]);

Always tree for loops for this to work:

for (int i = 0; i < N; i++)
            for (int j = 0; j < N; j++)
                for (int k = 0; k < N; k++)
                    C[i][k] += A[i][j] * B[j][k];

and I should read very carefull what MozaicFuneral has to say.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.