Find trace of matrix formed by adding Row-major and Column-major order of same matrix in C++


In this tutorial, we will be discussing a program to find trace of matrix formed by adding Row-major and Column-major order of same matrix.

For this we will be provided with two arrays one in row-major and other in columnmajor. Our task is to find the trace of the matrix formed by the addition of the two given matrices.

Example

 Live Demo

#include <bits/stdc++.h>
using namespace std;
//calculating the calculateMatrixTrace of the new matrix
int calculateMatrixTrace(int row, int column) {
   int A[row][column], B[row][column], C[row][column];
   int count = 1;
   for (int i = 0; i < row; i++)
      for (int j = 0; j < column; j++) {
         A[i][j] = count;
         count++;
      }
      count = 1;
      for (int i = 0; i < row; i++)
         for (int j = 0; j < column; j++) {
            B[j][i] = count;
            count++;
         }
      for (int i = 0; i < row; i++)
         for (int j = 0; j < column; j++)
            C[i][j] = A[i][j] + B[i][j];
      int sum = 0;
      for (int i = 0; i < row; i++)
         for (int j = 0; j < column; j++)
            if (i == j)
               sum += C[i][j];
      return sum;
}
int main() {
   int ROW = 6, COLUMN = 9;
   cout << calculateMatrixTrace(ROW, COLUMN) << endl;
   return 0;
}

Output

384

Updated on: 19-Aug-2020

76 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements