Imprimir números en patrón diagonal de array

Dado un número entero N , la tarea es imprimir el patrón dado. 
Ejemplos: 
 

Input: 3
Output:
1 2 4 
3 5 7 
6 8 9

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

Acercarse: 
 

  • Cree una array de tamaño NXN que almacenará el patrón antes de imprimir.
  • Guarde los elementos en el triángulo superior del patrón. Como se observa, el índice de fila aumenta en 1 y el índice de columna disminuye en 1 a medida que se desplaza hacia abajo en la diagonal.
  • Una vez que se completa el triángulo superior, almacene los elementos del triángulo inferior de manera similar al triángulo superior, es decir, el índice de fila aumenta en 1 y el índice de columna disminuye en 1 a medida que se desplaza hacia abajo en la diagonal.

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

C++

// C++ program to print the required pattern
#include <bits/stdc++.h>
using namespace std;
 
// Function to print the required pattern
void printPattern(int n)
{
    // arr[][] will store the pattern matrix
    int arr[n][n], k, i, j, p = 1, f;
 
    // Store the values for upper triangle
    // of the pattern
    for (k = 0; k < n; k++) {
        j = k;
        i = 0;
        while (j >= 0) {
            arr[i][j] = p;
            p++;
            i = i + 1;
            j = j - 1;
        }
    }
 
    // Store the values for lower triangle
    // of the pattern
    for (k = 1; k < n; k++) {
        i = k;
        j = n - 1;
        f = k;
        while (j >= f) {
            arr[i][j] = p;
            p++;
            i = i + 1;
            j = j - 1;
        }
    }
 
    // Print the pattern
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
}
 
// Driver code
int main()
{
    int n = 3;
 
    printPattern(n);
 
    return 0;
}

Java

// Java program to print the required pattern
 
public class GFG{
 
    // Function to print the required pattern
    static void printPattern(int n)
    {
        // arr[][] will store the pattern matrix
        int arr[][] = new int[n][n] ;
        int k, i, j, p = 1, f ;
     
        // Store the values for upper triangle
        // of the pattern
        for (k = 0; k < n; k++) {
            j = k;
            i = 0;
            while (j >= 0) {
                arr[i][j] = p;
                p++;
                i = i + 1;
                j = j - 1;
            }
        }
     
        // Store the values for lower triangle
        // of the pattern
        for (k = 1; k < n; k++) {
            i = k;
            j = n - 1;
            f = k;
            while (j >= f) {
                arr[i][j] = p;
                p++;
                i = i + 1;
                j = j - 1;
            }
        }
     
        // Print the pattern
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                System.out.print(arr[i][j] + " ") ;
            }
            System.out.println() ;
        }
    }
     
    // Driver code
    public static void main(String []args)
    {
        int n = 3;
     
        printPattern(n);
    }
    // This code is contributed by Ryuga
 
}

Python3

# Python 3 program to print the
# required pattern
 
# Function to print the required pattern
def printPattern(n):
     
    # arr[][] will store the pattern matrix
    arr = [[0 for i in range(n)]
              for j in range(n)]
    p = 1
 
    # Store the values for upper
    # triangle of the pattern
    for k in range(n):
        j = k
        i = 0
        while (j >= 0):
            arr[i][j] = p
            p += 1
            i = i + 1
            j = j - 1
     
    # Store the values for lower triangle
    # of the pattern
    for k in range(1, n, 1):
        i = k
        j = n - 1
        f = k
        while (j >= f):
            arr[i][j] = p
            p += 1
            i = i + 1
            j = j - 1
     
    # Print the pattern
    for i in range(0, n, 1):
        for j in range(0, n, 1):
            print(arr[i][j], end = " ")
         
        print("\n", end = "")
 
# Driver code
if __name__ == '__main__':
    n = 3
 
    printPattern(n)
 
# This code is contributed by
# Sanjit_Prasad

C#

// C# program to print the required pattern
using System;
 
public class GFG{
 
    // Function to print the required pattern
    static void printPattern(int n)
    {
        // arr[][] will store the pattern matrix
        int [,]arr = new int[n,n] ;
        int k, i, j, p = 1, f ;
     
        // Store the values for upper triangle
        // of the pattern
        for (k = 0; k < n; k++) {
            j = k;
            i = 0;
            while (j >= 0) {
                arr[i,j] = p;
                p++;
                i = i + 1;
                j = j - 1;
            }
        }
     
        // Store the values for lower triangle
        // of the pattern
        for (k = 1; k < n; k++) {
            i = k;
            j = n - 1;
            f = k;
            while (j >= f) {
                arr[i,j] = p;
                p++;
                i = i + 1;
                j = j - 1;
            }
        }
     
        // Print the pattern
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                Console.Write(arr[i,j] + " ") ;
            }
            Console.WriteLine() ;
        }
    }
     
    // Driver code
    public static void Main()
    {
        int n = 3;
     
        printPattern(n);
    }
    // This code is contributed by inder_verma..
 
}

PHP

<?php
// PHP program to print the required pattern
 
// Function to print the required pattern
function printPattern($n)
{
    // arr[][] will store the pattern matrix
    $arr[][] = array($n, $n);
    $k; $i; $j; $p = 1; $f;
 
    // Store the values for upper
    // triangle of the pattern
    for ($k = 0; $k < $n; $k++)
    {
        $j = $k;
        $i = 0;
        while ($j >= 0)
        {
            $arr[$i][$j] = $p;
            $p++;
            $i = $i + 1;
            $j = $j - 1;
        }
    }
 
    // Store the values for lower
    // triangle of the pattern
    for ($k = 1; $k < $n; $k++)
    {
        $i = $k;
        $j = $n - 1;
        $f = $k;
        while ($j >= $f)
        {
            $arr[$i][$j] = $p;
            $p++;
            $i = $i + 1;
            $j = $j - 1;
        }
    }
 
    // Print the pattern
    for ($i = 0; $i < $n; $i++)
    {
        for ($j = 0; $j < $n; $j++)
        {
            echo($arr[$i][$j] . " ");
        }
        echo("\n");
    }
}
 
// Driver code
$n = 3;
 
printPattern($n);
 
// This code is contributed
// by Mukul Singh
?>

Javascript

<script>
    // Javascript program to print the required pattern
     
    // Function to print the required pattern
    function printPattern(n)
    {
        // arr[][] will store the pattern matrix
        let arr = new Array(n);
        for(let i = 0; i < n; i++)
        {
            arr[i] = new Array(n);
            for(let j = 0; j < n; j++)
            {
                arr[i][j] = 0;
            }
        }
        let k, i, j, p = 1, f ;
       
        // Store the values for upper triangle
        // of the pattern
        for (k = 0; k < n; k++) {
            j = k;
            i = 0;
            while (j >= 0) {
                arr[i][j] = p;
                p++;
                i = i + 1;
                j = j - 1;
            }
        }
       
        // Store the values for lower triangle
        // of the pattern
        for (k = 1; k < n; k++) {
            i = k;
            j = n - 1;
            f = k;
            while (j >= f) {
                arr[i][j] = p;
                p++;
                i = i + 1;
                j = j - 1;
            }
        }
       
        // Print the pattern
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                document.write(arr[i][j] + " ") ;
            }
            document.write("<br>") ;
        }
    }
     
    let n = 3;      
      printPattern(n);
 
// This code is contributed by decode2207.
</script>
Producción: 

1 2 4 
3 5 7 
6 8 9

 

Publicación traducida automáticamente

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