Programa en C++ para imprimir un Array usando Recursion

Escriba un programa en C++ para imprimir un Array usando Recursion

  1. Uso de variables estáticas : ¡Las variables estáticas tienen la propiedad de preservar su valor incluso después de que están fuera de su alcance! Por lo tanto, las variables estáticas conservan su valor anterior en su ámbito anterior y no se inicializan de nuevo en el nuevo ámbito.

    Sintaxis:

    static data_type var_name = var_value; 

    // C++ Program to print
    // an Array using Recursion
      
    #include <bits/stdc++.h>
    using namespace std;
      
    // Recursive function to print the array
    void print_array(int arr[], int size)
    {
      
        // using the static variable
        static int i;
      
        // base case
        if (i == size) {
            i = 0;
            cout << endl;
            return;
        }
      
        // print the ith element
        cout << arr[i] << " ";
        i++;
      
        // recursive call
        print_array(arr, size);
    }
      
    // Driver code
    int main()
    {
      
        int arr[] = { 3, 5, 6, 8, 1 };
        int n = sizeof(arr) / sizeof(arr[0]);
      
        print_array(arr, n);
      
        return 0;
    }
    Producción:

    3 5 6 8 1
    
  2. Sin usar variable estática:

    // C++ Program to print
    // an Array using Recursion
      
    #include <bits/stdc++.h>
    using namespace std;
      
    // Recursive function to print the array
    void print_array(int arr[], int size, int i)
    {
      
        // base case
        if (i == size) {
            cout << endl;
            return;
        }
      
        // print the ith element
        cout << arr[i] << " ";
        i++;
      
        // recursive call
        print_array(arr, size, i);
    }
      
    // Driver code
    int main()
    {
      
        int arr[] = { 3, 5, 6, 8, 1 };
        int n = sizeof(arr) / sizeof(arr[0]);
      
        print_array(arr, n, 0);
      
        return 0;
    }
    Producción:

    3 5 6 8 1
    

Publicación traducida automáticamente

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