Programa para imprimir el patrón Zigzag

Dado un número N que denota el número de filas. La tarea es imprimir el patrón en zigzag con N filas como se muestra en los siguientes ejemplos.
Ejemplos
 

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

Input : N = 5
Output : 1 
         3*2 
         4*5*6 
         10*9*8*7 
         11*12*13*14*15

Enfoque
 

  1. Utilice un bucle for para imprimir el número de filas.
  2. Use dos variables var y var1 para filas pares e impares respectivamente.
  3. Cuando el número de fila es impar, calcule el punto de inicio de la fila y luego imprima e incremente la variable simultáneamente.
  4. Cuando el número de fila es par, calcule el punto de inicio correspondiente e imprima y disminuya la variable simultáneamente.

A continuación se muestra la implementación del enfoque anterior: 
 

C++

// CPP program to print the given
// zigzag pattern
 
#include<iostream>
using namespace std;
 
// Function to print the zigzag pattern
void printPattern(int n)
{  
    int var1, var = 1;
     
    for(int i = 1; i <= n; i++)
    {  
        // for odd rows
        if(i%2!=0)
        {  
            // calculate starting value
            var = var + i - 1;
            for(int j=1; j<=i; j++)
            {
                if(j==1)
                {
                    cout<<var;
                }
                else
                   cout<<"*"<<var;
                    
               var++;   
            }
        }
        else // for even rows
        {        
            var1 = var + i -1; // calculate starting value
            for(int j=1; j<=i; j++)
            {
                if(j==1)
                {
                    // print without star
                    cout<<var1;
                }
                else
                {
                    // print with star
                    cout<<"*"<<var1;
                }
                var1--;
            }
        }
        cout<<endl;
    }
     
}
 
// Driver code
int main()
{
    int n = 5;
     
    printPattern(n);
     
    return 0;
} 

Java

// Java program to print the given
// zigzag pattern
class GFG
{
// Function to print the
// zigzag pattern
static void printPattern(int n)
{
    int var1, var = 1;
     
    for(int i = 1; i <= n; i++)
    {
        // for odd rows
        if(i % 2 != 0)
        {
            // calculate starting value
            var = var + i - 1;
            for(int j = 1; j <= i; j++)
            {
                if(j == 1)
                {
                    System.out.print(var);
                }
                else
                System.out.print("*" + var);
                     
            var++;
            }
        }
        else // for even rows
        {    
            var1 = var + i -1; // calculate starting value
            for(int j = 1; j <= i; j++)
            {
                if(j == 1)
                {
                    // print without star
                    System.out.print(var1);
                }
                else
                {
                    // print with star
                    System.out.print("*" + var1);
                }
                var1--;
            }
        }
        System.out.print("\n");
    }
     
}
 
// Driver code
public static void main(String [] arg)
{
    int n = 5;
     
    printPattern(n);
}
}
 
// This code is contributed by Smitha

Python3

# Python3 program to print the given
# zigzag pattern
 
# Function to print the zigzag pattern
def printPattern(n):
     
    var = 0
    var = 1
     
    for i in range(1, n + 1):
 
        # for odd rows
        if(i % 2 != 0):
             
            # calculate starting value
            var = var + i - 1
            for j in range(1, i + 1):
             
                if(j == 1):
                 
                    print(var, end = "")
                else:
                    print("*", end = "")
                    print(var, end = "")
                     
                var += 1
             
         
        else: # for even rows
                 
            var1 = var + i -1 # calculate starting value
            for j in range(1, i + 1):
             
                if(j == 1):
                 
                    # prwithout star
                    print(var1, end = "")
                 
                else:
                 
                    # prwith star
                    print("*", end = "")
                    print(var1, end = "")
                 
                var1 -= 1
             
        print()
     
# Driver code
n = 5
 
printPattern(n)
 
# This code is contributed by Mohit kumar

C#

// C# program to print the given
// zigzag pattern
using System;
class GFG
{
// Function to print the
// zigzag pattern
static void printPattern(int n)
{
    int var1, var = 1;
     
    for(int i = 1; i <= n; i++)
    {
        // for odd rows
        if(i % 2 != 0)
        {
            // calculate starting value
            var = var + i - 1;
            for(int j = 1; j <= i; j++)
            {
                if(j == 1)
                {
                    Console.Write(var);
                }
                else
                    Console.Write("*" + var);
                     
            var++;
            }
        }
        else // for even rows
        {    
            var1 = var + i -1; // calculate starting value
            for(int j = 1; j <= i; j++)
            {
                if(j == 1)
                {
                    // print without star
                    Console.Write(var1);
                }
                else
                {
                    // print with star
                    Console.Write("*" + var1);
                }
                var1--;
            }
        }
        Console.Write("\n");
    }
     
}
 
// Driver code
public static void Main()
{
    int n = 5;
     
    printPattern(n);
}
}
 
// This code is contributed
// by Akanksha Rai(Abby_akku)

PHP

<?php
// PHP program to print the given
// zigzag pattern
 
// Function to print the zigzag pattern
function printPattern($n)
{
    $var1; $var = 1;
     
    for($i = 1; $i <= $n; $i++)
    {
        // for odd rows
        if($i % 2 != 0)
        {
            // calculate starting value
            $var = $var + $i - 1;
            for($j = 1; $j <= $i; $j++)
            {
                if($j == 1)
                {
                    echo $var;
                }
                else
                    echo "*" . $var;
                     
                $var++;
            }
        }
        else // for even rows
        {    
            // calculate starting value
            $var1 = $var + $i - 1;
            for($j = 1; $j <= $i; $j++)
            {
                if($j == 1)
                {
                    // print without star
                    echo $var1;
                }
                else
                {
                    // print with star
                    echo "*" . $var1;
                }
                $var1--;
            }
        }
        echo "\n";
    }
     
}
 
// Driver code
$n = 5;
 
printPattern($n);
 
// This code is contributed by Rajput-Ji
?>

Javascript

<script>
      // JavaScript program to print the given
      // zigzag pattern
 
      // Function to print the zigzag pattern
      function printPattern(n)
      {
        var var1,
          var2 = 1;
 
        for (var i = 1; i <= n; i++)
        {
         
          // for odd rows
          if (i % 2 != 0)
          {
           
            // calculate starting value
            var2 = var2 + i - 1;
            for (var j = 1; j <= i; j++)
            {
              if (j == 1)
              {
                document.write(var2);
              }
              else document.write("*" + var2);
 
              var2++;
            }
          }
           
          // for even rows
          else
          {
            var1 = var2 + i - 1; // calculate starting value
            for (var j = 1; j <= i; j++) {
              if (j == 1)
              {
               
                // print without star
                document.write(var1);
              }
              else
              {
               
                // print with star
                document.write("*" + var1);
              }
              var1--;
            }
          }
          document.write("<br>");
        }
      }
 
      // Driver code
      var n = 5;
      printPattern(n);
       
      // This code is contributed by rdtank.
    </script>
Producción: 

1
3*2
4*5*6
10*9*8*7
11*12*13*14*15

 

Complejidad de tiempo: O(N^2)
Espacio auxiliar: O(1) 

Publicación traducida automáticamente

Artículo escrito por Kasthuri Palanichamy 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 *