Programa para imprimir Cuadrado dentro de un Cuadrado

Dado un número N, imprima un cuadrado hueco de lado con N asteriscos (‘*’), y dentro de él imprima un cuadrado hueco de lado N-4 asteriscos (‘*’).
Ejemplos: 
 

Input : 6
Output :
******
*    *
* ** *
* ** *
*    *
******

Input :9
Output :
*********
*       *
* ***** *
* *   * *
* *   * *
* *   * *
* ***** *
*       *
*********

La idea es ejecutar dos bucles anidados de 1 a n para filas y columnas y ahora verificar las condiciones de cuándo imprimir un asterisco (‘*’) y cuándo imprimir un espacio (‘ ‘). La condición para la impresión de asteriscos será: 
 

// This will print asterisks on the boundary
(i == 1 || i == n || j == 1 || j == n)

// This will print the asterisks on the boundary
// of inner square
(i >= 3 && i = 3 && j <= n - 2) &&
(i == 3 || i == n - 2 || j == 3 || j == n - 2))

Todos los índices que no cumplan la condición anterior contendrán espacios.
A continuación se muestra la implementación de la idea anterior: 
 

C++

// C++ program to print square inside
// a square pattern
#include <iostream>
using namespace std;
 
 
// Function to print the pattern square
// inside a square
void printPattern(int n)
{
    int i, j;
     
    // To access rows of the square
    for (i = 1; i <= n; i++)
    {
        // To access columns of the square
        for (j = 1; j <= n; j++)
        {
     
            // For printing the required square pattern
            if ((i == 1 || i == n || j == 1 || j == n) ||
                (i >= 3 && i <= n - 2 && j >= 3 && j <= n - 2) &&
                 (i == 3 || i == n - 2 || j == 3 || j == n - 2))
            {
                // Prints star(*)
                cout<<"*";
            }
            else
            {
                // Prints space(" ")
                cout<<" ";
            }
        }
     
        cout<<endl;
    }
}
 
// Driver Code
int main()
{
    int n = 7;
    printPattern(n);
    return 0;
}
 
// This code is contributed by Shivam.Pradhan.

C

// C program to print square inside
// a square pattern
#include <stdio.h>
 
// Function to print the pattern square
// inside a square
void printPattern(int n)
{
    int i, j;
     
    // To access rows of the square
    for (i = 1; i <= n; i++)
    {
        // To access columns of the square
        for (j = 1; j <= n; j++)
        {
     
            // For printing the required square pattern
            if ((i == 1 || i == n || j == 1 || j == n) ||
                (i >= 3 && i <= n - 2 && j >= 3 && j <= n - 2) &&
                 (i == 3 || i == n - 2 || j == 3 || j == n - 2))
            {
                // Prints star(*)
                printf("*");
            }
            else
            {
                // Prints space(" ")
                printf(" ");
            }
        }
     
        printf("\n");
    }
}
 
// Driver Code
int main()
{
    int n = 7;
    printPattern(n);
    return 0;
}

Java

// Java program to print square inside
// a square pattern
import java.lang.*;
 
class GFG {
     
// Function to print the pattern square
// inside a square
static void printPattern(int n) {
 
    // To access rows of the square
    for (int i = 1; i <= n; i++) {
         
    // To access columns of the square
    for (int j = 1; j <= n; j++) {
 
        /*** For printing the required square pattern ***/
        if ((i == 1 || i == n || j == 1 || j == n) ||
            (i >= 3 && i <= n - 2 && j >= 3 && j <= n - 2) &&
                (i == 3 || i == n - 2 || j == 3 || j == n - 2))
        {
        // Prints star(*)           
        System.out.print("*");
        }
        else
        {
        // Prints space(" ")   
        System.out.print(" ");
        }
    }
 
    System.out.print("\n");
    }
}
 
// Driver code
public static void main(String[] args) {
    int n = 7;
    printPattern(n);
}
}
 
// This code is contributed by Anant Agarwal.

Python3

# Python program to
# print square inside
# a square pattern
 
# Function to print
# the pattern square
# inside a square
def printPattern(n):
     
    # To access rows of the square
    for i in range(1,n+1):
     
        # To access columns of the square
        for j in range(1,n+1):
         
            # For printing the required square pattern
            if ((i == 1 or i == n or j == 1 or j == n) or
                (i >= 3 and i <= n - 2 and j >= 3 and j <= n - 2) and
                    (i == 3 or i == n - 2 or j == 3 or j == n - 2)):
             
                print("*",end="") # Prints star(*)
             
            else:
             
                print(" ",end="") # Prints space(" ")
             
        print()
         
 
# Driver code
 
n = 7  
printPattern(n)
 
# This code is contributed
# by Anant Agarwal.

C#

// C# program to print square inside
// a square pattern
using System;
 
class GFG {
     
    // Function to print the pattern square
    // inside a square
    static void printPattern(int n) {
     
        // To access rows of the square
        for (int i = 1; i <= n; i++) {
             
            // To access columns of the square
            for (int j = 1; j <= n; j++) {
         
                /*** For printing the required
                     square pattern ***/
                if ((i == 1 || i == n || j == 1
                       || j == n) || (i >= 3 &&
                        i <= n - 2 && j >= 3 &&
                      j <= n - 2) && (i == 3 ||
                        i == n - 2 || j == 3 ||
                                   j == n - 2))
                {
                     
                    // Prints star(*)    
                    Console.Write("*");
                }
                else
                {
                     
                    // Prints space(" ")
                    Console.Write(" ");
                }
            }
         
            Console.WriteLine();
        }
    }
     
    // Driver code
    public static void Main() {
         
        int n = 7;
         
        printPattern(n);
    }
}
 
// This code is contributed by vt_m.

PHP

<?php
// PHP program to print square inside
// a square pattern
 
// Function to print the pattern square
// inside a square
function printPattern($n)
{
    // To access rows of the square
    for ($i = 1; $i <= $n; $i++)
    {
        // To access columns of the square
        for ($j = 1; $j <= $n; $j++)
        {
     
            // For printing the required
            // square pattern
            if (($i == 1 || $i == $n ||
                $j == 1 || $j == $n) ||
                ($i >= 3 && $i <= $n - 2 &&
                $j >= 3 && $j <= $n - 2) &&
                ($i == 3 || $i == $n - 2 ||
                $j == 3 || $j == $n - 2))
            {
                // Prints star(*)
                echo "*";
            }
            else
            {
                // Prints space " "
                echo " ";
            }
        }
     
        echo"\n";
    }
}
 
// Driver Code
$n = 7;
printPattern($n);
 
// This code is contributed by Mithun Kumar
?>

Producción : 
 

*******
*     *
* *** *
* * * *
* *** *
*     *
*******

 Tiempo Complejidad: O(n 2 )
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por priya_1998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *