Programa para imprimir el patrón Número-Estrella de medio diamante

Dado un número N que representa el número de filas. La tarea es imprimir un patrón de número-estrella de medio diamante como se muestra en los ejemplos a continuación.
Nota : N es siempre un número par.
Ejemplos
 

Input: N = 4
Output:  2*2
         1
         1
         2*2

Input: N = 6
Output: 3*3*3
        2*2
        1
        1
        2*2
        3*3*3

Al observar cuidadosamente el patrón anterior, se puede dividir en dos triángulos diferentes: 
 

  • Un triángulo rectángulo invertido.
  • Un triángulo rectángulo normal.

Para el primer patrón de triángulo: 
 

  • Ejecute dos bucles, primero se ocupará del número de filas y el otro se ocupará del ‘*’ y los números que se imprimen.
  • Dentro de los bucles, compruebe si las iteraciones del bucle interior han alcanzado el número de filas dado o no.
  • En caso afirmativo, escriba solo el número; de lo contrario, escriba ‘*’ y numere ambos.

Se seguirá el mismo enfoque para el segundo patrón de triángulo con un ligero cambio de que aquí se verificará la condición donde la iteración interna es igual a 0 o no.
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ program to print half diamond
// number star pattern
#include <iostream>
using namespace std;
 
// Function to print the given pattern
void printPattern(int r)
{
    r = r / 2;
    int count = r;
 
    // loop to print upper half pattern
    for (int i = 0; i < r; i++) {
        for (int j = r; j > i; j--) {
            if (j != r) {
                cout << "*" << count;
            }
            else {
                cout << count;
            }
        }
        count--;
        cout << endl;
    }
    count++;
 
    // loop to print lower half pattern
    for (int i = 0; i < r; i++) {
        for (int j = 0; j <= i; j++) {
            if (j != 0) {
                cout << "*" << count;
            }
            else {
                cout << count;
            }
        }
        count++;
        cout << endl;
    }
}
 
// Driver code
int main()
{
    int n;
     
    n = 6;
     
    printPattern(n);
     
    return 0;
}

Java

// Java program to print half
// diamond number star pattern
class GFG
{
// Function to print
// the given pattern
static void printPattern(int r)
{
    r = r / 2;
    int count = r;
 
    // loop to print
    // upper half pattern
    for (int i = 0; i < r; i++)
    {
        for (int j = r; j > i; j--)
        {
            if (j != r)
            {
                System.out.print("*" + count);
            }
            else
            {
                System.out.print(count);
            }
        }
        count--;
        System.out.print("\n");
    }
    count++;
 
    // loop to print lower
    // half pattern
    for (int i = 0; i < r; i++)
    {
        for (int j = 0; j <= i; j++)
        {
            if (j != 0)
            {
                System.out.print("*" + count);
            }
            else
            {
                System.out.print(count);
            }
        }
        count++;
        System.out.print("\n");
    }
}
 
// Driver code
public static void main(String [] args)
{
    int n;
     
    n = 6;
     
    printPattern(n);
}
}
 
// This code is contributed
// by Smitha

Python 3

# Python 3 program to
# print half diamond
# number star pattern
 
# Function to print the
# given pattern
def printPattern(r) :
 
    r = r // 2
    count = r
 
    # loop to print upper
    # half pattern
    for i in range(r) :
        for j in range(r, i, -1) :
            if j != r :
                print("*" + str(count),
                             end = "")
            else :
                print(count, end = "")
 
        count -= 1
        print()
 
    count += 1
 
    # loop to print lower
    # half pattern
    for i in range(r) :
        for j in range(i + 1):
            if j != 0 :
                print("*" + str(count),
                             end = "")
            else :
                print(count, end = "")
 
        count += 1
        print()
 
# Driver Code
if __name__ == "__main__" :
 
    n = 6
 
    printPattern(n)
             
# This code is contributed
# by ANKITRAI1

C#

// C++ program to print half diamond
// number star pattern
 
using System;
 
public class GFG
{
// Function to print the given pattern
static void printPattern(int r)
{
    r = r / 2;
    int count = r;
  
    // loop to print upper half pattern
    for (int i = 0; i < r; i++) {
        for (int j = r; j > i; j--) {
            if (j != r) {
                Console.Write("*" + count);
            }
            else {
                Console.Write( count);
            }
        }
        count--;
        Console.WriteLine();
    }
    count++;
  
    // loop to print lower half pattern
    for (int i = 0; i < r; i++) {
        for (int j = 0; j <= i; j++) {
            if (j != 0) {
                Console.Write("*" + count);
            }
            else {
                Console.Write( count);
            }
        }
        count++;
        Console.WriteLine();
    }
}
  
// Driver code
public static void Main()
{
    int n;
      
    n = 6;
      
    printPattern(n);
      
}
}

PHP

<?php
// PHP program to print half
// diamond number star pattern
 
// Function to print the
// given pattern
function printPattern($r)
{
    $r = $r / 2;
    $count = $r;
 
    // loop to print upper half pattern
    for ($i = 0; $i < $r; $i++)
    {
        for ($j = $r; $j > $i; $j--)
        {
            if ($j != $r)
            {
                echo "*" . $count;
            }
            else
            {
                echo $count;
            }
        }
        $count--;
        echo "\n";
    }
    $count++;
 
    // loop to print lower half pattern
    for ($i = 0; $i < $r; $i++)
    {
        for ($j = 0; $j <= $i; $j++)
        {
            if ($j != 0)
            {
                echo "*" . $count;
            }
            else
            {
                echo $count;
            }
        }
        $count++;
        echo "\n";
    }
}
 
// Driver code
$n = 6;
 
printPattern($n);
 
// This code is contributed
// by Arnab Kundu
?>

Javascript

<script>
 
      // JavaScript program to print half diamond
      // number star pattern
 
      // Function to print the given pattern
      function printPattern(r) {
        r = r / 2;
        var count = parseInt(r);
 
        // loop to print upper half pattern
        for (var i = 0; i < r; i++) {
          for (var j = r; j > i; j--) {
            if (j != r) {
              document.write("*" + count);
            } else {
              document.write(count);
            }
          }
          count--;
          document.write("<br>");
        }
        count++;
 
        // loop to print lower half pattern
        for (var i = 0; i < r; i++) {
          for (var j = 0; j <= i; j++) {
            if (j != 0) {
              document.write("*" + count);
            } else {
              document.write(count);
            }
          }
          count++;
          document.write("<br>");
        }
      }
 
      // Driver code
      var n;
      n = 6;
      printPattern(n);
       
</script>
Producción: 

3*3*3
2*2
1
1
2*2
3*3*3

 

Complejidad de tiempo: O(r 2 ), donde r representa la entrada dada.
Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.

Publicación traducida automáticamente

Artículo escrito por Smitha Dinesh Semwal 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 *