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

सारंगपुर का युद्ध कब हुआ था ? सारंगपुर का युद्ध किसके मध्य हुआ

कुम्भा की राजनैतिक उपलकियाँ कुंमा की प्रारंभिक विजयें  - महाराणा कुम्भा ने अपने शासनकाल के…

4 weeks ago

रसिक प्रिया किसकी रचना है ? rasik priya ke lekhak kaun hai ?

अध्याय- मेवाड़ का उत्कर्ष 'रसिक प्रिया' - यह कृति कुम्भा द्वारा रचित है तथा जगदेय…

4 weeks ago

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

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

2 months ago

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

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

2 months ago

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

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

3 months ago

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

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

3 months 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