C++ Program to Find Sum of Opposite Diagonal of a Matrix

Write a C++ Program to Find the Sum of Opposite Diagonal of a Matrix with an example. Within the C++ for loop, we are adding the value of all the opposite diagonal values of the given matrix.

#include<iostream>
using namespace std;

int main()
{
	int i, j, rows, columns, sum = 0;
	
	cout << "\nPlease Enter the Matrix rows and Columns =  ";
	cin >> i >> j;
	
	int sumOppDgnalArr[i][j];
	
	cout << "\nPlease Enter the Matrix Items\n";
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < i; columns++) {
			cin >> sumOppDgnalArr[rows][columns];
		}		
	}

 	for(rows = 0; rows < i; rows++)
  	{
  		sum = sum + sumOppDgnalArr[rows][i - rows  - 1];
  	}
  	
  	cout << "\nThe Sum of Opposite Diagonal Elements of a Matrix = " << sum;

 	return 0;
}
C++ Program to Find Sum of Opposite Diagonal of a Matrix 1

i = 3, rows = 0
sum = sum + sumOppDgnalArr[0][3 – 0 – 1] => sum + sumOppDgnalArr[0][2]
sum = 0 + 30

i = 3, rows = 1, and sum = 30
sum = sum + sumOppDgnalArr[1][1]
sum = 30 + 90 = 120

i = 3, rows = 2, and sum = 120

sum = sum + sumOppDgnalArr[2][0]

sum = 120 + 70 = 190

C++ Program to Find Sum of Opposite Diagonal of a Matrix Example 2

In this C++ example, we added two extra cout statements to show you the iteration number, row value, and sum at each iteration.

#include<iostream>
using namespace std;

int main()
{
	int i, j, rows, columns, sum = 0;
	
	cout << "\nPlease Enter the Matrix rows and Columns =  ";
	cin >> i >> j;
	
	int sumOppDgnalArr[i][j];
	
	cout << "\nPlease Enter the Matrix Items\n";
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < i; columns++) {
			cin >> sumOppDgnalArr[rows][columns];
		}		
	}

 	for(rows = 0; rows < i; rows++)
  	{
  		cout << "\nIteration = " << rows + 1 << ", Row Number = " << rows << " and Sum = " << sum;
  		sum = sum + sumOppDgnalArr[rows][i - rows  - 1]; 		
		cout <<  "\nsumOppDgnalArr["<<rows<<"]["<< i - rows - 1 <<"] = " << sumOppDgnalArr[rows][i - rows - 1] << 
			" and sum + sumOppDgnalArr["<<rows<<"]["<< i - rows - 1 <<"] = " << sum << endl;
  	}
  	
  	cout << "\nThe Sum of Opposite Diagonal Elements of a Matrix = " << sum;

 	return 0;
}
Please Enter the Matrix rows and Columns =  2 2

Please Enter the Matrix Items
11 22
99 122

Iteration = 1, Row Number = 0 and Sum = 0
sumOppDgnalArr[0][1] = 22 and sum + sumOppDgnalArr[0][1] = 22

Iteration = 2, Row Number = 1 and Sum = 22
sumOppDgnalArr[1][0] = 99 and sum + sumOppDgnalArr[1][0] = 121

The Sum of Opposite Diagonal Elements of a Matrix = 121

It is another approach to write a C++ Program to calculate the Sum of Matrix Opposite Diagonal.

#include<iostream>
using namespace std;

int main()
{
	int i, j, rows, columns, sum = 0;
	
	cout << "\nPlease Enter the Matrix rows and Columns =  ";
	cin >> i >> j;
	
	int sumOppDgnalArr[i][j];
	
	cout << "\nPlease Enter the Matrix Items\n";
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < i; columns++) {
			cin >> sumOppDgnalArr[rows][columns];
		}		
	}

 	for(rows = 0; rows < i; rows++)
  	{
  		for(columns = 0;columns < j; columns++)
  		{
  			if(rows + columns == ((i + 1) - 2))
			{
  				sum = sum + sumOppDgnalArr[rows][columns];
			}		
		}		
  	}
  	
  	cout << "\nThe Sum of Opposite Diagonal Elements of a Matrix = " << sum;

 	return 0;
}
Please Enter the Matrix rows and Columns =  3 3

Please Enter the Matrix Items
11 22 33
44 55 65
99 10 122

The Sum of Opposite Diagonal Elements of a Matrix = 187

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.