
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Fill Diagonal to Make Sum of 3x3 Matrix Equal
Suppose we have one 3x3 matrix, whose diagonal elements are empty at first. We have to fill the diagonal such that the sum of a row, column and diagonal will be the same. Suppose a matrix is like −
After filling, it will be −
Suppose the diagonal elements are x, y, z. The values will be −
- x = (M[2, 3] + M[3, 2])/ 2
- z = (M[1, 2] + M[2, 1])/ 2
- y = (x + z)/2
Example
#include<iostream> using namespace std; void displayMatrix(int matrix[3][3]) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) cout << matrix[i][j] << " "; cout << endl; } } void fillDiagonal(int matrix[3][3]) { matrix[0][0] = (matrix[1][2] + matrix[2][1]) / 2; matrix[2][2] = (matrix[0][1] + matrix[1][0]) / 2; matrix[1][1] = (matrix[0][0] + matrix[2][2]) / 2; cout << "Final Matrix" << endl; displayMatrix(matrix); } int main() { int matrix[3][3] = { { 0, 3, 6 }, { 5, 0, 5 }, { 4, 7, 0 }}; cout << "Given Matrix" << endl; displayMatrix(matrix); fillDiagonal(matrix); }
Output
Given Matrix 0 3 6 5 0 5 4 7 0 Final Matrix 6 3 6 5 5 5 4 7 4
Advertisements