# Print sum of matrix and its mirror image

You are given a matrix of order **N*N**. The task is to find the resultant matrix by adding the mirror image of given matrix with the matrix itself.**Examples**:

Input: mat[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}Output: 4 4 4 10 10 10 16 16 16Explanation: Resultant Matrix = {{1, 2, 3}, {{3, 2, 1}, {4, 5, 6}, + {6, 5, 4}, {7, 8, 9}} {9, 8, 7}}Input: mat[][] = {{1, 2}, {3, 4}}Output: 3 3 7 7

While finding the mirror image of matrix the row of each element will remain same but the value of its columns will reshuffle. For any element A_{ij} its new position in mirror image will be A_{i(n-j)}. After getting the mirror image of matrix add it to original matrix and print the result.**Points to take care:**

- Indexing of matrix will start from 0, 0 and ends on n-1, n-1 hence position of any element A
_{ij}will be A_{i(n-1-j).} - While printing the result take care of proper output format

Below is the implementation of the above approach:

## C++

`// C++ program to find sum of matrix and` `// its mirror image` `#include <bits/stdc++.h>` `#define N 4` `using` `namespace` `std;` `// Function to print the resultant matrix` `void` `printSum(` `int` `mat[][N])` `{` ` ` `for` `(` `int` `i = 0; i < N; i++) {` ` ` `for` `(` `int` `j = 0; j < N; j++) {` ` ` `cout << setw(3) << mat[i][N - 1 - j] + mat[i][j] << ` `" "` `;` ` ` `}` ` ` `cout << ` `"\n"` `;` ` ` `}` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `mat[N][N] = { { 2, 4, 6, 8 },` ` ` `{ 1, 3, 5, 7 },` ` ` `{ 8, 6, 4, 2 },` ` ` `{ 7, 5, 3, 1 } };` ` ` `printSum(mat);` ` ` `return` `0;` `}` |

## Java

`// Java program to find sum of ` `// matrix and its mirror image` `import` `java.io.*;` `class` `GFG ` `{` `static` `int` `N = ` `4` `;` `// Function to print the ` `// resultant matrix` `static` `void` `printSum(` `int` `mat[][])` `{` ` ` `for` `(` `int` `i = ` `0` `; i < N; i++)` ` ` `{` ` ` `for` `(` `int` `j = ` `0` `; j < N; j++)` ` ` `{` ` ` `System.out.print((mat[i][N - ` `1` `- j] +` ` ` `mat[i][j]) + ` `" "` `);` ` ` `}` ` ` `System.out.println();` ` ` `}` `}` `// Driver Code` `public` `static` `void` `main (String[] args) ` `{` ` ` `int` `mat[][] = { { ` `2` `, ` `4` `, ` `6` `, ` `8` `},` ` ` `{ ` `1` `, ` `3` `, ` `5` `, ` `7` `},` ` ` `{ ` `8` `, ` `6` `, ` `4` `, ` `2` `},` ` ` `{ ` `7` `, ` `5` `, ` `3` `, ` `1` `} };` ` ` `printSum(mat);` `}` `}` `// This code is contributed by anuj_67` |

## Python3

`# Python 3 program to find sum of matrix ` `# and its mirror image` `N ` `=` `4` `# Function to print the resultant matrix` `def` `printSum(mat):` ` ` `for` `i ` `in` `range` `(N):` ` ` `for` `j ` `in` `range` `(N):` ` ` `print` `(` `'{:>3}'` `.` `format` `(mat[i][N ` `-` `1` `-` `j] ` `+` ` ` `mat[i][j]), end ` `=` `" "` `)` ` ` ` ` `print` `(` `"\n"` `, end ` `=` `"")` `# Driver Code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `mat ` `=` `[[` `2` `, ` `4` `, ` `6` `, ` `8` `],` ` ` `[` `1` `, ` `3` `, ` `5` `, ` `7` `],` ` ` `[` `8` `, ` `6` `, ` `4` `, ` `2` `],` ` ` `[` `7` `, ` `5` `, ` `3` `, ` `1` `]]` ` ` `printSum(mat)` `# This code is contributed by` `# Surendra_Gangwar` |

## C#

`// C# program to find sum of ` `// matrix and its mirror image` `using` `System;` `class` `GFG ` `{` `static` `int` `N = 4;` `// Function to print the ` `// resultant matrix` `static` `void` `printSum(` `int` `[,]mat)` `{` ` ` `for` `(` `int` `i = 0; i < N; i++)` ` ` `{` ` ` `for` `(` `int` `j = 0; j < N; j++)` ` ` `{` ` ` `Console.Write((mat[i, N - 1 - j] +` ` ` `mat[i, j]) + ` `" "` `);` ` ` `}` ` ` `Console.WriteLine();` ` ` `}` `}` `// Driver Code` `public` `static` `void` `Main () ` `{` ` ` `int` `[,]mat = { { 2, 4, 6, 8 },` ` ` `{ 1, 3, 5, 7 },` ` ` `{ 8, 6, 4, 2 },` ` ` `{ 7, 5, 3, 1 } };` ` ` `printSum(mat);` `}` `}` `// This code is contributed by shs..` |

## PHP

`<?php` `// PHP program to find sum of ` `// matrix and its mirror image` `// Function to print the ` `// resultant matrix` `function` `printSum(` `$mat` `)` `{` ` ` `for` `(` `$i` `= 0; ` `$i` `< 4; ` `$i` `++)` ` ` `{` ` ` `for` `(` `$j` `= 0; ` `$j` `< 4; ` `$j` `++)` ` ` `{` ` ` `echo` `(` `$mat` `[` `$i` `][4 - 1 - ` `$j` `] + ` ` ` `$mat` `[` `$i` `][` `$j` `]) . ` `" "` `;` ` ` `}` ` ` `echo` `"\n"` `;` ` ` `}` `}` `// Driver Code` `$mat` `= ` `array` `(` `array` `(2, 4, 6, 8 ),` ` ` `array` `(1, 3, 5, 7),` ` ` `array` `(8, 6, 4, 2),` ` ` `array` `(7, 5, 3, 1));` `printSum(` `$mat` `);` ` ` `// This code is contributed` `// by Akanksha Rai` `?>` |

## Javascript

`<script>` `// Javascript program to find sum of matrix and` `// its mirror image` `var` `N = 4` `// Function to print the resultant matrix` `function` `printSum(mat)` `{` ` ` `for` `(` `var` `i = 0; i < N; i++) {` ` ` `for` `(` `var` `j = 0; j < N; j++) {` ` ` `document.write( (mat[i][N - 1 - j] + mat[i][j]) + ` `" "` `);` ` ` `}` ` ` `document.write(` `"<br>"` `);` ` ` `}` `}` `// Driver Code` `var` `mat = [ [ 2, 4, 6, 8 ],` ` ` `[ 1, 3, 5, 7 ],` ` ` `[ 8, 6, 4, 2 ],` ` ` `[ 7, 5, 3, 1 ] ];` `printSum(mat);` `</script>` |

**Output:**

10 10 10 10 8 8 8 8 10 10 10 10 8 8 8 8