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