Adott a négyzet sorrendi mátrix n*n be kell nyomtatnunk a mátrix elemeit VEL forma
Input: [[4 5 6 8] [1 2 3 1] [7 8 9 4] [1 8 7 5]] Output: 4 5 6 8 3 8 1 8 7 5 Input: [[4 5 6 8 5] [1 2 3 1 4] [7 8 9 4 7] [1 8 7 5 2] [7 9 5 6 9] [9 4 5 6 6]] Output: 4 5 6 8 5 1 9 8 7 9 4 5 6 6

Be kell haladnunk a mátrix első során, majd a második átlón, majd az utolsó soron.
Végrehajtás:
C++// CPP program to print a square matrix in Z form #include using namespace std; const int MAX = 100; // Function to print a square matrix in Z form void printZform(int mat[][MAX] int n) { // print first row for (int i = 0; i < n; i++) cout << mat[0][i] << ' '; // Print second diagonal int i = 1 j = n - 2; while (i < n && j >= 0) { cout << mat[i][j] << ' '; i++; j--; } // Print last row for (int i = 1; i < n; i++) cout << mat[n - 1][i] << ' '; } // Driver function int main() { int mat[][MAX] = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; printZform(mat 4); return 0; }
Java // Java program to print a // square matrix in Z form import java.io.*; import java.lang.*; class GFG { public static void diag(int arr[][] int n) { int i = 0 j k; // print first row for (j = 0; j < n - 1; j++) { System.out.print(arr[i][j] + ' '); } // Print diagonal k = 1; for (i = 0; i < n - 1; i++) { for (j = 0; j < n; j++) { if (j == n - k) { System.out.print(arr[i][j] + ' '); break; } } k++; } // Print last row i = n - 1; for (j = 0; j < n; j++) System.out.print(arr[i][j] + ' '); System.out.print('n'); } public static void main(String[] args) { int a[][] = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; diag(a 4); } } // Code contributed by Mohit Gupta_OMG <(0_o)>
Python3 # Python Program to print a Square # Matrix in Z form. # Function to print Matrix in Z form def Z_print(Test_list): Result = [] # Empty list to Store Final Result # To find the difference b/w whole matrix and first elements diff = len(Test_list)-len(Test_list[0]) # Loop to find elements for Z form and to print it. for i in range(len(Test_list)): # If the elements if First or Last then print it as it is... if i == 0 or i == len(Test_list)-1: Result.append(Test_list[i]) Result = Result[0] print(*Result) Result = [] else: Result.append(Test_list[i][len(Test_list)-i-1-diff]) a = Result[0] # Give require spaces for printing elements... print(' ' * (len(Test_list)-i-1-diff) + str(a)) Result = [] # Empty list again for storing next pattern return Result # Driver Function if __name__ == '__main__': Test_list1 = [[4 5 6 8] [1 2 3 1] [7 8 9 4] [1 8 7 5]] Z_print(Test_list1) # Passing Matrix to Z_print function
C# // C# program to print a square // matrix in Z form using System; class GFG { public static void printZform(int[ ] mat int n) { int i j; // print first row for (i = 0; i < n; i++) { Console.Write(mat[0 i] + ' '); } // Print diagonal i = 1; j = n - 2; while (i < n && j >= 0) // print diagonal { Console.Write(mat[i j] + ' '); i++; j--; } // Print last row for (i = 1; i < n; i++) Console.Write(mat[n - 1 i] + ' '); } // Driver code public static void Main() { int[ ] mat = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; printZform(mat 4); } } // This code is contributed by vt_m.
PHP // PHP program to print a // square matrix in Z form $MAX = 100; // Function to print a // square matrix in Z form function printZform( $mat $n) { // print first row for($i = 0; $i < $n; $i++) echo $mat[0][$i] ' '; // Print diagonal $i = 1;$j = $n - 2; // print diagonal while ($i < $n and $j >= 0) { echo $mat[$i][$j] ' '; $i++; $j--; } // Print last row for ( $i = 1; $i < $n; $i++) echo $mat[$n - 1][$i] ' '; } // Driver Code $mat = array(array(4 5 6 8) array(1 2 3 1) array(7 8 9 4) array(1 8 7 5)); printZform($mat 4); // This code is contributed by anuj_67. ?> JavaScript <script> // JavaScript program to print a square // matrix in Z form function printZform(mat n) { var i j; // print first row for (i = 0; i < n; i++) { document.write(mat[0][i] + ' '); } // Print diagonal i = 1; j = n - 2; while (i < n && j >= 0) // print diagonal { document.write(mat[i][j] + ' '); i++; j--; } // Print last row for (i = 1; i < n; i++) document.write(mat[n - 1][i] + ' '); } // Driver code var mat = [ [ 4 5 6 8 ] [ 1 2 3 1 ] [ 7 8 9 4 ] [ 1 8 7 5 ] ]; printZform(mat 4); </script>
Kimenet
4 5 6 8 3 8 1 8 7 5
Időbeli összetettség: On)
Kiegészítő tér: O(1)
Alternatív megoldásként kinyomtathatjuk az első sort és a második átlót, kivéve az utolsó elemet, majd az utolsó sort.
C++14// CPP program to print a square matrix in Z form #include using namespace std; const int MAX = 100; // Function to print a square matrix in Z form void printZform(int mat[][MAX] int n) { int i; // print first row except last element for (i = 0; i < n-1; i++) cout << mat[0][i] << ' '; // Print second diagonal except last element for(i=0;i<n-1;i++) cout<<mat[i][n-i-1]<<' '; // Print last row for (i = 0; i < n; i++) cout << mat[n - 1][i] << ' '; } // Driver function int main() { int mat[][MAX] = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; printZform(mat 4); return 0; }
Java // Java program to print a square matrix in Z form public final class GFG { public static int MAX = 100; // Function to print a square matrix in Z form public static void printZform(int[][] mat int n) { int i; // print first row except last element for (i = 0; i < n - 1; i++) { System.out.print(mat[0][i]); System.out.print(' '); } // Print second diagonal except last element for (i = 0; i < n - 1; i++) { System.out.print(mat[i][n - i - 1]); System.out.print(' '); } // Print last row for (i = 0; i < n; i++) { System.out.print(mat[n - 1][i]); System.out.print(' '); } } // Driver function public static void main(String[] args) { int[][] mat = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; printZform(mat 4); } } // This code is contributed by Aarti_Rathi
Python3 # Python program to print a square matrix in Z form # Function to print a square matrix in Z form def printZform(mat n): # print first row except last element for i in range(n - 1): print(mat[0][i] end=' ') # Print second diagonal except last element for i in range(n - 1): print(mat[i][n-i-1] end=' ') # Print last row for i in range(n): print(mat[n - 1][i] end=' ') # Driver function mat = [ [4 5 6 8 ] [ 1 2 3 1 ] [ 7 8 9 4 ] [ 1 8 7 5 ] ]; printZform(mat 4) # This code is contributed by Samim Hossain Mondal.
C# // C# program to print a square matrix in Z form using System; public static class GFG { public static int MAX = 100; // Function to print a square matrix in Z form public static void printZform(int[ ] mat int n) { int i; // print first row except last element for (i = 0; i < n - 1; i++) { Console.Write(mat[0 i]); Console.Write(' '); } // Print second diagonal except last element for (i = 0; i < n - 1; i++) { Console.Write(mat[i n - i - 1]); Console.Write(' '); } // Print last row for (i = 0; i < n; i++) { Console.Write(mat[n - 1 i]); Console.Write(' '); } } // Driver function public static void Main() { int[ ] mat = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; printZform(mat 4); } } // This code is contributed by Aarti_Rathi
JavaScript // JavaScript program to print a square // matrix in Z form function printZform(mat n) { var i=0 j; // print first row except last element for (i = 0; i < n - 1; i++) { document.write(mat[0][i] + ' '); } // Print second diagonal except last element for (i = 0; i < n - 1; i++) { document.write(mat[i][n - i - 1] + ' '); } // Print last row for (i = 0; i < n; i++) { document.write(mat[n - 1][i] + ' '); } } // Driver code var mat = [ [ 4 5 6 8 ] [ 1 2 3 1 ] [ 7 8 9 4 ] [ 1 8 7 5 ] ]; printZform(mat 4); // This code is contributed by Aarti_Rathi
Kimenet
4 5 6 8 3 8 1 8 7 5
Időbeli összetettség: On)
Kiegészítő tér: O(1)
Alternatív egyszerűbb megvalósítás:
Köszönhetően Aathishithan amiért ezt javasoltad.
Végrehajtás:
C++14#include using namespace std; #define MAX 100 // C++ program to print a // square matrix in Z form void diag(int arr[][MAX]int n) { int i = 0 j k; for(i = 0;i < n;i++){ for(j = 0;j < n;j++){ if(i == 0) cout<<arr[i][j]<<' '; else if(j==n-i-1) cout<<arr[i][j]<<' '; else if(i == n-1) cout<<arr[i][j]<<' '; } } } //driver's code int main() { int a[][MAX] = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; diag(a 4); }
Java // Java program to print a // square matrix in Z form import java.lang.*; import java.io.*; class GFG { public static void diag(int arr[][] int n) { int i = 0 j k; for(i = 0;i < n;i++){ for(j = 0;j < n;j++){ if(i == 0){ System.out.print(arr[i][j]+' '); } else if(j==n-i-1){ System.out.print(arr[i][j]+' '); } else if(i == n-1){ System.out.print(arr[i][j]+' '); } } } } public static void main(String[] args) { int a[][] = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; diag(a 4); } }
Python3 # Python3 program to print # square matrix in Z form def diag(arr n): for i in range(n): for j in range(n): if(i == 0): print(arr[i][j] end = ' ') elif(j == n-(i+1)): print(arr[i][j] end = ' ') elif(i == n - 1): print(arr[i][j] end = ' ') # Driver code if __name__ == '__main__': a= [ [ 4 5 6 8 ] [ 1 2 3 1 ] [ 7 8 9 4 ] [ 1 8 7 5 ] ] diag(a 4) # This code is contributed by mohit kumar 29 and improved by Hari Aditya
C# // C# program to print a // square matrix in Z form using System; public class GFG { public static void diag(int []arr int n) { int i = 0 j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { if(i == 0){ Console.Write(arr[i j]+' '); } else if(i == j){ Console.Write(arr[i j]+' '); } else if(i == n-1){ Console.Write(arr[i j]+' '); } } } } public static void Main(string[] args) { int []a = { { 4 5 6 8 } { 1 2 3 1 } { 7 8 9 4 } { 1 8 7 5 } }; diag(a 4); } } // This code is contributed by rrrtnx.
JavaScript <script> // Javascript program to print a // square matrix in Z form function diag(arr n) { var i = 0 j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { if(i == 0){ document.write(arr[i][j]+' '); } else if(i == j){ document.write(arr[i][j]+' '); } else if(i == n-1){ document.write(arr[i][j]+' '); } } } } var a = [ [ 4 5 6 8 ] [ 1 2 3 1 ] [ 7 8 9 4 ] [ 1 8 7 5 ] ]; diag(a 4); // This code is contributed by rutvik_56. </script>
Kimenet
4 5 6 8 3 8 1 8 7 5
Időbeli összetettség: O(n*n)
Kiegészítő tér: O(1)
Kvíz létrehozása