# Print all the super diagonal elements of the given square matrix

Given a square matrix **mat[][]** of size **n * n**. The task is to print all the elements which lie on the super-diagonal of the given matrix.**Examples:**

Input:mat[][] = {

{1, 2, 3},

{3, 3, 4, },

{2, 4, 6}}Output:2 4Input:mat[][] = {

{1, 2, 3, 4},

{3, 3, 4, 4},

{2, 4, 6, 3},

{1, 1, 1, 3}}Output:2 4 3

**Approach:** The super-diagonal of a square matrix is the set of elements that lies directly above the elements comprising the main diagonal. As for main diagonal elements, their indexes are like (i = j), for super-diagonal elements their indexes are as j = i + 1 (i denotes row and j denotes column).

Hence elements **arr[0][1], arr[1][2], arr[2][3], arr[3][4], ….** are the elements of super-diagonal.

Either traverse all elements of matrix and print only those where j = i + 1 which requires O(n^{2}) time complexity or traverse only column from 1 to columnCount – 1 and print elements as arr[column – 1][column].

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `#define R 4` `#define C 4` `// Function to print the super diagonal` `// elements of the given matrix` `void` `printSuperDiagonal(` `int` `arr[R][C])` `{` ` ` `for` `(` `int` `i = 1; i < C; i++) {` ` ` `cout << arr[i - 1][i] << ` `" "` `;` ` ` `}` `}` `// Driver code` `int` `main()` `{` ` ` `int` `arr[R][C] = { { 1, 2, 3, 4 },` ` ` `{ 5, 6, 7, 8 },` ` ` `{ 9, 10, 11, 12 },` ` ` `{ 13, 14, 15, 16 } };` ` ` `printSuperDiagonal(arr);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `import` `java.io.*;` `class` `GFG` `{` ` ` `static` `int` `R = ` `4` `;` `static` `int` `C = ` `4` `;` `// Function to print the sub diagonal` `// elements of the given matrix` `static` `void` `printSubDiagonal(` `int` `arr[][])` `{` ` ` `for` `(` `int` `i = ` `1` `; i < C; i++)` ` ` `{` ` ` `System.out.print(arr[i-` `1` `][i] + ` `" "` `);` ` ` `}` `}` `// Driver code` `public` `static` `void` `main (String[] args)` `{` ` ` `int` `arr[][] = { { ` `1` `, ` `2` `, ` `3` `, ` `4` `},` ` ` `{ ` `5` `, ` `6` `, ` `7` `, ` `8` `},` ` ` `{ ` `9` `, ` `10` `, ` `11` `, ` `12` `},` ` ` `{ ` `13` `, ` `14` `, ` `15` `, ` `16` `} };` ` ` `printSubDiagonal(arr);` `}` `}` `// This code is contributed by mohit kumar 29` |

## Python3

`# Python3 implementation of the approach` `R ` `=` `4` `C ` `=` `4` `# Function to print the super diagonal` `# elements of the given matrix` `def` `printSuperDiagonal(arr) :` ` ` `for` `i ` `in` `range` `(` `1` `, C) :` ` ` `print` `(arr[i ` `-` `1` `][i],end` `=` `" "` `);` `# Driver code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` ` ` `arr ` `=` `[ [ ` `1` `, ` `2` `, ` `3` `, ` `4` `],` ` ` `[` `5` `, ` `6` `, ` `7` `, ` `8` `],` ` ` `[ ` `9` `, ` `10` `, ` `11` `, ` `12` `],` ` ` `[ ` `13` `, ` `14` `, ` `15` `, ` `16` `]]` ` ` `printSuperDiagonal(arr);` ` ` `# This code is contributed by AnkitRai01` |

## C#

`// C# implementation of the approach` `using` `System;` ` ` `lass GFG` `{` ` ` `static` `int` `R = 4;` ` ` `static` `int` `C = 4;` ` ` `// Function to print the sub diagonal` ` ` `// elements of the given matrix` ` ` `static` `void` `printSubDiagonal(` `int` `[,]arr)` ` ` `{` ` ` `for` `(` `int` `i = 1; i < C; i++)` ` ` `{` ` ` `Console.Write(arr[i-1,i] + ` `" "` `);` ` ` `}` ` ` `}` ` ` `// Driver code` ` ` `public` `static` `void` `Main (String[] args)` ` ` `{` ` ` `int` `[,]arr = { { 1, 2, 3, 4 },` ` ` `{ 5, 6, 7, 8 },` ` ` `{ 9, 10, 11, 12 },` ` ` `{ 13, 14, 15, 16 } };` ` ` `printSubDiagonal(arr);` ` ` `}` `}` `/* This code is contributed by PrinciRaj1992 */` |

## Javascript

`<script>` `// Javascript implementation of the approach` `var` `R = 4` `var` `C = 4` `// Function to print the super diagonal` `// elements of the given matrix` `function` `printSuperDiagonal( arr)` `{` ` ` `for` `(` `var` `i = 1; i < C; i++) {` ` ` `document.write( arr[i - 1][i] + ` `" "` `);` ` ` `}` `}` `// Driver code` `var` `arr = [ [ 1, 2, 3, 4 ],` ` ` `[ 5, 6, 7, 8 ],` ` ` `[ 9, 10, 11, 12 ],` ` ` `[ 13, 14, 15, 16 ] ];` `printSuperDiagonal(arr);` `</script>` |

**Output:**

2 7 12

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.