logo

Програм за штампање матрице у З облику

С обзиром на а квадратни матрица реда н*н потребно је да одштампамо елементе матрице ВИТХ форму

    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

хттпс://медиа.геексфоргеекс.орг/вп-цонтент/уплоадс/Цаптуре-16.вебп' title=

Морамо да пређемо први ред матрице, затим другу дијагоналу, а затим последњи ред.



Имплементација:

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> 

Излаз
4 5 6 8 3 8 1 8 7 5 

Временска сложеност: О(н)
Помоћни простор: О(1)

Алтернативно, можемо одштампати први ред и другу дијагоналу осим последњег елемента, а затим последњег реда.

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 

Излаз
4 5 6 8 3 8 1 8 7 5 

Временска сложеност: О(н)
Помоћни простор: О(1)

Алтернативна једноставнија имплементација:  

Хвала на Аатхитхан за сугерисање овога.

Имплементација:

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> 

Излаз
4 5 6 8 3 8 1 8 7 5 

Временска сложеност: О(н*н)
Помоћни простор: О(1)

 

Креирај квиз