Dada la cantidad de filas y columnas, imprima la imagen especular del patrón de la esvástica.
Nota: el número de filas y columnas debe ser el mismo y un número impar. Esto generará una imagen especular perfecta del patrón de la esvástica.
Ejemplos:
Input : row = 5, col = 5 Output : * * * * * * * * * * * * * * * * * Input : row = 9, col = 9 Output : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
A continuación se muestra la implementación para imprimir la imagen especular del patrón de la esvástica.
C++
// C++ implementation to print // mirror image of swastika pattern. #include <bits/stdc++.h> using namespace std; // function to print mirror image of swastika void revswastika(int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { // for the upper half of the Swastika if (i < row / 2) { // checking if j < col/2 if (j < col / 2) { // the first quadrant will have // stars till half the number of rows if (i == 0 && i < row / 2) cout << "*" << " "; // rest will have spaces else cout << " " << " "; } // the middle line of the swastika else if (j == col / 2) cout << "*"; else { // the second quadrant of the // upper half will have spaces if (i < row / 2 && j < col - 1) cout << " " << " "; if (j == col - 1) // only the last column of the // second quadrant will have stars cout << " " << "*"; } } // for the lower half of the Swastika // the middle horizontal line of the // Swastika will be at row/2 else if (i == row / 2) cout << "*" << " "; else { // for stars in the third quadrant // and the middle line of the lower Swastika if (j == col / 2 || j == 0) cout << "*" << " "; else if (i == row - 1) { // the last row's third quadrant // will have spaces and the fourth // will have stars if (j <= col / 2 || j == col) cout << " " << " "; else cout << "*" << " "; } // rest of the remaining portion // will have spaces all along else cout << " " << " "; } } cout << "\n"; } } // Driver code int main() { // same no. of rows and columns to // get the perfect mirror image // of swastika pattern. int row = 9, col = 9; // function calling revswastika(row, col); return 0; }
Java
// Java implementation to print // mirror image of swastika pattern. import java.io.*; class GFG { // function to print mirror image of swastika static void revswastika(int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { // for the upper half of the Swastika if (i < row / 2) { // checking if j < col/2 if (j < col / 2) { // the first quadrant will have // stars till half the number of rows if (i == 0 && i < row / 2) System.out.print("*" + " "); // rest will have spaces else System.out.print(" " + " "); } // the middle line of the swastika else if (j == col / 2) System.out.print("*"); else { // the second quadrant of the // upper half will have spaces if (i < row / 2 && j < col - 1) System.out.print(" " + " "); if (j == col - 1) // only the last column of the // second quadrant will have stars System.out.print(" " + "*"); } } // for the lower half of the Swastika // the middle horizontal line of the // Swastika will be at row/2 else if (i == row / 2) System.out.print("*" + " "); else { // for stars in the third quadrant // and the middle line of the lower Swastika if (j == col / 2 || j == 0) System.out.print( "*" + " "); else if (i == row - 1) { // the last row's third quadrant // will have spaces and the fourth // will have stars if (j <= col / 2 || j == col) System.out.print (" " + " "); else System.out.print("*" + " "); } // rest of the remaining portion // will have spaces all along else System.out.print(" " + " "); } } System.out.println(); } } // Driver code public static void main (String[] args) { // same no. of rows and columns to // get the perfect mirror image // of swastika pattern. int row = 9, col = 9; // function calling revswastika(row, col); } } // This code is contributed by vt_m.
Python3
# Python3 implementation to print # mirror image of swastika pattern. # Function to print mirror image of swastika def revswastika(row, col): for i in range(row): for j in range(col): # for the upper half of the Swastika if (i < row // 2): # checking if j < col/2 if (j < col // 2): # The first quadrant will have # stars till half the number of rows if (i == 0 and i < row // 2): print("* ", end = "") # rest will have spaces else: print(" ", end = " ") # the middle line of the swastika elif (j == col // 2): print("*", end = "") else: # the second quadrant of the # upper half will have spaces if (i < row // 2 and j < col - 1): print(" ", end = " ") if (j == col - 1): # only the last column of the # second quadrant will have stars print(" *", end = "") # For the lower half of the Swastika # the middle horizontal line of the # Swastika will be at row/2 elif (i == row // 2): print("* ", end = "") else: # For stars in the third quadrant and # the middle line of the lower Swastika if (j == col // 2 or j == 0): print("* ", end = "") elif (i == row - 1): # last row's third quadrant will # have spaces and fourth will have stars if (j <= col // 2 or j == col): print(" ", end = " ") else: print("* ", end = "") # rest of the remaining portion # will have spaces all along else: print(" ", end = " ") print() # Driver code # same no. of rows and columns to # get the perfect mirror image # of swastika pattern. row = 9; col = 9 revswastika(row, col) # This code is contributed by Azkia Anam.
C#
// C# implementation to print mirror // image of swastika pattern. using System; class GFG { // function to print mirror image // of swastika static void revswastika(int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { // for the upper half of the // Swastika if (i < row / 2) { // checking if j < col/2 if (j < col / 2) { // the first quadrant // will have stars till // half the number of // rows if (i == 0 && i < row / 2) Console.Write("*" + " "); // rest will have spaces else Console.Write(" " + " "); } // the middle line of the // swastika else if (j == col / 2) Console.Write("*"); else { // the second quadrant of // the upper half will // have spaces if (i < row / 2 && j < col - 1) Console.Write(" " + " "); if (j == col - 1) // only the last column // of the second quadrant // will have stars Console.Write(" " + "*"); } } // for the lower half of the Swastika // the middle horizontal line of the // Swastika will be at row/2 else if (i == row / 2) Console.Write("*" + " "); else { // for stars in the third quadrant // and the middle line of the // lower Swastika if (j == col / 2 || j == 0) Console.Write( "*" + " "); else if (i == row - 1) { // the last row's third quadrant // will have spaces and the fourth // will have stars if (j <= col / 2 || j == col) Console.Write(" " + " "); else Console.Write("*" + " "); } // rest of the remaining portion // will have spaces all along else Console.Write(" " + " "); } } Console.WriteLine(); } } // Driver code public static void Main () { // same no. of rows and columns to // get the perfect mirror image // of swastika pattern. int row = 9, col = 9; // function calling revswastika(row, col); } } // This code is contributed by vt_m.
PHP
<?php // PHP code to print Mirror // image of swastika pattern. // function to print // mirror image of swastika function revswastika($row, $col) { for ($i = 0; $i < $row; $i++) { for ($j = 0; $j < $col; $j++) { // for the upper half // of the Swastika if ($i < floor($row / 2)) { // checking if j < $col/2 if ($j < floor($col / 2)) { // the first quadrant will // have stars till half the // number of $rows if ($i == 0 && $i < floor($row / 2)) echo "*" . " "; // rest will have spaces else echo " " . " "; } // the middle line // of the swastika else if ($j == floor($col / 2)) echo "*"; else { // the second quadrant of the // upper half will have spaces if ($i < floor($row / 2) && $j < $col - 1) echo " " . " "; if ($j == $col - 1) // only the last $column // of the second quadrant // will have stars echo " " . "*"; } } // for the lower half of the Swastika // the middle horizontal line of the // Swastika will be at $row/2 else if ($i == floor($row / 2)) echo "*" . " "; else { // for stars in the third // quadrant and the middle // line of the lower // Swastika if ($j == floor($col / 2) || $j == 0) echo "*" . " "; else if ($i == $row - 1) { // the last $row's third // quadrant will have spaces // and the fourth will have // stars if ($j <= floor($col / 2) || $j == $col) echo " " . " "; else echo "*" . " "; } // rest of the remaining // portion will have spaces // all along else echo " " . " "; } } echo "\n"; } } // Driver code // same no. of $rows and $columns // to get the perfect mirror image // of swastika pattern. $row = 9; $col = 9; // function calling revswastika($row, $col); // This code is contributed by mits ?>
Javascript
<script> // JavaScript implementation to print // mirror image of swastika pattern. // function to print mirror image of swastika function revswastika(row, col) { for (var i = 0; i < row; i++) { for (var j = 0; j < col; j++) { // for the upper half of the Swastika if (i < Math.floor(row / 2)) { // checking if j < col/2 if (j < Math.floor(col / 2)) { // the first quadrant will have // stars till half the number of rows if (i == 0 && i < Math.floor(row / 2)) document.write("*" + " "); // rest will have spaces else document.write(" " + " "); } // the middle line of the swastika else if (j == Math.floor(col / 2)) document.write("*"); else { // the second quadrant of the // upper half will have spaces if (i < Math.floor(row / 2) && j < col - 1) document.write(" " + " "); if (j == col - 1) // only the last column of the // second quadrant will have stars document.write(" " + "*"); } } // for the lower half of the Swastika // the middle horizontal line of the // Swastika will be at row/2 else if (i == Math.floor(row / 2)) document.write("*" + " "); else { // for stars in the third quadrant // and the middle line of the lower Swastika if (j == Math.floor(col / 2) || j == 0) document.write("*" + " "); else if (i == row - 1) { // the last row's third quadrant // will have spaces and the fourth // will have stars if (j <= Math.floor(col / 2) || j == col) document.write(" " + " "); else document.write("*" + " "); } // rest of the remaining portion // will have spaces all along else document.write(" " + " "); } } document.write("<br>"); } } // Driver code // same no. of rows and columns to // get the perfect mirror image // of swastika pattern. var row = 9, col = 9; // function calling revswastika(row, col); // This code is contributed by rdtank. </script>
Producción :
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Complejidad de tiempo: O (fila * columna), donde fila es el número de filas y col es el número de columnas en el patrón de esvástica inversa.
Complejidad espacial: O (1), ya que no estamos utilizando ningún espacio adicional.
Publicación traducida automáticamente
Artículo escrito por nickhilrawat y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA