हिंदी माध्यम नोट्स
C++ : CALL BY REFERENCE
what is C++ : CALL BY REFERENCE :- इससे पहले के article मे function type ,function structure और function parameter को discuss किया है इस article मे recursion function को discuss करेगे |
Recursion Function
जब किसी function को खुद को कल करता है तब इस function को recursion function कहते है | एक function मे दुसरे function को call किया जाता है | इस function मे दुसरे function को call करना आसान होता है | लेकिन जब कोई function मे खुद function को call किया जाता है | इस function को recusion function कहते है | किसी recursion function का struture निन्म होता है :-
void recursion_function ()
{
…………..
recursion_function ();
…………..
}
main()
{
…………..
recursion_function ()
…………..
}
इस struture मे recursion_function () एक recursion Fnction है क्योकि recursion_function () की body मे recursion_function () को call किया जाता है | और main() function मे recursion_function () को call किया जाता है |
किसी programming code मे braching करके भी recursion_function () को call किया जाता है | ब्रचिंफ़ infinite recusion को बंद किया जाता है | क्योकि जब तक braching if-else condition true होगी तब तक function को खुद call करेगे |
उदाहरन के लिए
void recursion_function ()
{
…………..
if(condition)
{
recursion_function ();
}
…………..
}
main()
{
…………..
recursion_function ()
…………..
}
इसका उदाहरन होता है :-
इस उदाहरन मे factorial को calculate किया जाता है | इस उदहारण मे resursion function को use किया गया है | इसका source code निन्म होता है |
#include<iostream.h>
#include<conio.h>
#include<math.h>
void fac( int );
void main()
{
int a ;
cout<<“Enter value : “;
cin>>a;
cout<<“Fctorial of”<<a<<“is”<<fac(a);
getch();
}
void fac( int f )
{
if(f>1)
{
return f*fac(f-1);
}
else
{
return 1;
}
}
इस उदाहरन मे सबसे पहले यूजर द्वारा value को input किया जाता है | इस value को variable ‘a’ को assign किया जाता है | suppose यूजर द्वारा input की value 5 है तब
fac() मे ,
सबसे पहले condition check की जाती है | (4>1 ) होगी तब num*fac(num-1)की value को return किया जाता है | अतः यह पर 4*fac(4-1) return होता है |
उसके बाद fac(3) को call किया जाता है इस function मे अगर (3>1 ) होगी तब num*fac(num-1)की value को return किया जाता है | और 4*3*fac(3-1) return होगा |
उसके बाद fac(2)को call किया जाता है इस function मे अगर (2>1) होगी तब num*fac(num-1)की value को return किया जाता है | और 4*3*2*fac(2-1) return होगा |
उसके बाद fac(1) को call किया जाता है इस function मे अगर (1>1 ) होगी तब num*fac(num-1)की value को return किया जाता है | और 4*3*2*1 return होगा |
इसका आउटपुट होगा :
Enter value : 4
Fctorial of 4 is 24
उदाहरन -2
इस उदाहरन मे 10 natural number के sum को calculate किया जाता है | इस उदहारण मे resursion function को use किया गया है | इसका source code निन्म होता है |
#include<iostream.h>
#include<conio.h>
#include<math.h>
int sum ( int );
void main()
{
int a ;
cout<<“Enter value : “;
cin>>a;
cout<<“Sum of”<<a<<“is”<<fac(a);
getch();
}
int sum( int f )
{
if(f>1)
{
return f+sum(f-1);
}
else
{
return 1;
}
}
इस उदाहरन मे सबसे पहले यूजर द्वारा value को input किया जाता है | इस value को variable ‘a’ को assign किया जाता है | suppose यूजर द्वारा input की value 5 है तब
sum() मे ,
सबसे पहले condition check की जाती है | (4>1 ) होगी तब num+sum(num-1)की value को return किया जाता है | अतः यह पर 4+sum(4-1) return होता है |
उसके बाद sum(3) को call किया जाता है इस function मे अगर (3>1 ) होगी तब num+sum(num-1)की value को return किया जाता है | और 4+3+sum(3-1) return होगा |
उसके बाद sum(2)को call किया जाता है इस function मे अगर (2>1) होगी तब num+sum(num-1)की value को return किया जाता है | और 4+3+2+sum(2-1) return होगा |
उसके बाद sum(1) को call किया जाता है इस function मे अगर (1>1 ) होगी तब num+sum(num-1)की value को return किया जाता है | और 4+3+2+1 return होगा |
इसका आउटपुट होगा :
Enter value : 4
Sum of 4 is 10
Call by reference
किसी function मे argument data type से pass किया जाता है इस प्रकार in variable के address से data variable को function मे pass किया जाता है | इसे call by reference कहते है | इस function call statement मे variable के address को pass किया जाता है | और function defition मे प्पोइंटर variable मे function मे pass किये variable address से initial किया गया है | इसका उदाहरन निन्म होता है |
#include<iostream.h>
#include<conio.h>
#include<math.h>
void sub(int* , int* );
void main()
{
static int a,b ;
cout<<“Enter value 1 : “;
cin>>a;
cout<<“Enter value2 : “;
cin>>b;
int output = add(&a,&b);
cout<<” Addition output of a+b :”<<output<<endl;
}
getch();
}
void add(int *e ,int *f )
{
int c= *e + *f ;
return c;
}
इस उदाहरन मे , variable ‘a’ और ‘b’ के address को function calling मे pass किया जाता है | और function definition मे पोइंत्येर variable ‘e’ और ‘f’ मे initial किया जाता है | |
इसके अलावा return statement मे भी variable के address को भी return किया जता है |
इस article मे recursion function और call by reference को discuss किया गया है |
Recent Posts
सती रासो किसकी रचना है , sati raso ke rachnakar kaun hai in hindi , सती रासो के लेखक कौन है
सती रासो के लेखक कौन है सती रासो किसकी रचना है , sati raso ke…
मारवाड़ रा परगना री विगत किसकी रचना है , marwar ra pargana ri vigat ke lekhak kaun the
marwar ra pargana ri vigat ke lekhak kaun the मारवाड़ रा परगना री विगत किसकी…
राजस्थान के इतिहास के पुरातात्विक स्रोतों की विवेचना कीजिए sources of rajasthan history in hindi
sources of rajasthan history in hindi राजस्थान के इतिहास के पुरातात्विक स्रोतों की विवेचना कीजिए…
गुर्जरात्रा प्रदेश राजस्थान कौनसा है , किसे कहते है ? gurjaratra pradesh in rajasthan in hindi
gurjaratra pradesh in rajasthan in hindi गुर्जरात्रा प्रदेश राजस्थान कौनसा है , किसे कहते है…
Weston Standard Cell in hindi वेस्टन मानक सेल क्या है इससे सेल विभव (वि.वा.बल) का मापन
वेस्टन मानक सेल क्या है इससे सेल विभव (वि.वा.बल) का मापन Weston Standard Cell in…
polity notes pdf in hindi for upsc prelims and mains exam , SSC , RAS political science hindi medium handwritten
get all types and chapters polity notes pdf in hindi for upsc , SSC ,…