Dada una array cuadrada mat[][] de tamaño n * n . La tarea es imprimir todos los elementos que se encuentran en la superdiagonal de la array dada.
Ejemplos:
Entrada: mat[][] = {
{1, 2, 3},
{3, 3, 4, },
{2, 4, 6}}
Salida: 2 4
Entrada: mat[][] = {
{1, 2, 3, 4},
{3, 3, 4, 4},
{2, 4, 6, 3},
{1, 1, 1, 3}}
Salida: 2 4 3
Enfoque: La superdiagonal de una array cuadrada es el conjunto de elementos que se encuentra directamente encima de los elementos que componen la diagonal principal. En cuanto a los elementos de la diagonal principal, sus índices son como (i = j), para los elementos de la superdiagonal, sus índices son como j = i + 1 (i denota fila y j denota columna).
Por lo tanto, los elementos arr[0][1], arr[1][2], arr[2][3], arr[3][4], …. son los elementos de la superdiagonal.
Atraviese todos los elementos de la array e imprima solo aquellos donde j = i + 1, lo que requiere una complejidad de tiempo O(n 2 ), o recorra solo la columna de 1 a columnCount – 1 e imprima los elementos como arr[column – 1][column].
A continuación se muestra la implementación del enfoque anterior:
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>
2 7 12
Publicación traducida automáticamente
Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA