Site icon DataFlair

Recursion in Data Structures using C++

Program 1

// Program for Recursion
#include<conio.h>
#include<iostream>
#define clrscr() system("cls")
using namespace std;
int main()
{
        static int i=1;
        int n;
        if(i==1)
        clrscr();
        if(i>10)
          exit(0);
       cout<<i*i<<"\n";
       i++;
       main();
   return 0;      
}

Program 2

// Program for Recursion
#include<conio.h>
#include<iostream>
#define clrscr() system("cls")
using namespace std;
void series(int);
int main()
{
    int n;
    clrscr();
    cout<<"Enter the limit";
    cin>>n;
    series(n);
}
void series(int n)
{
     static int i=1;
     if(i>n)
       return;
    cout<<i<<"\n";
    i++;
    series(n);         
}

Program 3

// Program for factorial of number using recursion
#include<conio.h>
#include<iostream>
#define clrscr() system("cls")
using namespace std;
int factorial(int);
int main()
{
    int n,f;
    clrscr();
    cout<<"\nEnter an element";
    cin>>n;
    f=factorial(n);
    cout<<"\n Factorial is: "<<f;
    return 0;
}
int factorial(int n)  
{
      static int f=1;
      if(n==0)
        return f;
      f=f*n;
      n--;
      factorial(n);
}

Program 4

// Program for reverse of number using recursion
#include<conio.h>
#include<iostream>
#define clrscr() system("cls")
using namespace std;
int reverse(int);
int main()
{
    int n,x;
    clrscr();
    cout<<"\nEnter a number";
    cin>>n;
    x=reverse(n);
    //cout<<"\nReverse is: "<<x;
    if(x==n)
      cout<<"\n Number is armstrong";
    else
      cout<<"\n Number is not armstrong";  
}
int reverse(int n)
{
        static int s=0;
        int r;
        if(n==0)
        return s;
        r=n%10;
        s=s+(r*r*r);   
        n=n/10;
      reverse(n);  
}

 

Exit mobile version