JOIN us on
WhatsApp Group Join Now
Telegram Join Join Now

हिंदी माध्यम नोट्स

Categories: c++ language in hindi

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 किया गया है |

Sbistudy

Recent Posts

मालकाना का युद्ध malkhana ka yudh kab hua tha in hindi

malkhana ka yudh kab hua tha in hindi मालकाना का युद्ध ? मालकाना के युद्ध…

4 weeks ago

कान्हड़देव तथा अलाउद्दीन खिलजी के संबंधों पर प्रकाश डालिए

राणा रतन सिंह चित्तौड़ ( 1302 ई. - 1303 ) राजस्थान के इतिहास में गुहिलवंशी…

4 weeks ago

हम्मीर देव चौहान का इतिहास क्या है ? hammir dev chauhan history in hindi explained

hammir dev chauhan history in hindi explained हम्मीर देव चौहान का इतिहास क्या है ?…

4 weeks ago

तराइन का प्रथम युद्ध कब और किसके बीच हुआ द्वितीय युद्ध Tarain battle in hindi first and second

Tarain battle in hindi first and second तराइन का प्रथम युद्ध कब और किसके बीच…

4 weeks ago

चौहानों की उत्पत्ति कैसे हुई थी ? chahamana dynasty ki utpatti kahan se hui in hindi

chahamana dynasty ki utpatti kahan se hui in hindi चौहानों की उत्पत्ति कैसे हुई थी…

1 month ago

भारत पर पहला तुर्क आक्रमण किसने किया कब हुआ first turk invaders who attacked india in hindi

first turk invaders who attacked india in hindi भारत पर पहला तुर्क आक्रमण किसने किया…

1 month ago
All Rights ReservedView Non-AMP Version
X

Headline

You can control the ways in which we improve and personalize your experience. Please choose whether you wish to allow the following:

Privacy Settings
JOIN us on
WhatsApp Group Join Now
Telegram Join Join Now