JOIN us on
WhatsApp Group Join Now
Telegram Join Join Now

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

Categories: C Language in hindi

User Define Function : Recursion or Multi file Programme in hindi in c language रिकर्शन इन हिंदी

रिकर्शन इन हिंदी User Define Function : Recursion or Multi file Programme in hindi in c language :-

Recursion : जब कोई function किसी दुसरे function को call कर सकता  है |लेकिन जब कोई function खुद को बार बार call करता है tab इस प्रोसेस को recursion कहते है |Recusion प्रोसेस पर ही recusion algorithm बनी है |

इस recusion algorithm से हम कई प्रॉब्लम (Honio Tower , tree traveler ,depth first search in graph ) solve हो सकती है |
Base condition:
किसी recursion function मे base condition वो condition होती है जिसके false होने तक recursion प्रोसेस चलती रहती है |
उदाहरण के लिए:
fact(int n)
{
int fact;
if(n==1)                   // Base condition//
{
return(1);
}
else
{
fact=n*fact(n-1);
return(fact);
}
इस function मे जब तक n की 1 नहीं होती है जब तक fact() की calling होती है |हर बार passing argument n-1 होता है |
Recursion types :
Recursion दो प्रकार का होता है |
1.Direct recursion
इसमें function() , direct ही खुद को call करता है |जैसे की factorial function मे|इस उदाहरण मे ,fact() जबतक की value n की value 1 नहीं होती जब तक खुद को fact() को call करता है |
#include <stdio.h>
#include<conio.h>
int fact(int);
void main()
{
number 1() ;
number 2();
getch();
}
number( )
{
int fact;
if(n==1)                   // Base condition//
{
return(1);
}
else
{
fact=n*fact(n-1);
return(fact);
}
आउटपुट होगा :
2.Indirect  recursion
इस प्रकार मे जब कोई function ,function 1() पहले कोई दूसरा function function2() को call करता है,function2() फिर function 1()  को call करता है tab इस function को Indirect  recursion कहते है |इसका उदाहरण है  :-
#include <stdio.h>
#include<conio.h>
void num 1(int);
void num 2(int);
int i;
void main()
{
printf(“Enter data”);
scanf(“%d”,&i);
num 1( );
}
void num 1( )
{
int  n=0;
if(n<=i)
printf(“%d”,n);
n++;
num 2( n );
}
else
{
return ();
}
}
void num 2( int m )
{
if(m<=i)
{
printf(“%d”,m);
m++;
num 1();
}
else
{
Return();
}
}
आउटपुट होगा :
Enter data 10
0 1 2 3 4 5 6 7 8 9 10
जब किसी recusion मे function के execution के आधार पर दो भागो मे डिवाइड किया गया है :-

1.Tail Recusion
कोई recursion ,tail recursion होता है जब इसमें recursion statement, function के last मे execute होता है |TAIL recursion ,Non tail recursion से better होती है|इस प्रकार से  complier को प्रोग्रम को समजने मे आसानी होती है क्योकि recursion statement के बाद कोई और statement execute के लिए नहीं होता है |
वतर्मान मे complier tail call elimination को use करता है recursion प्रोग्राम को पढने के लिए|
उदाहरण के लिए :
#include<conio.h>
#include<stdio.h>
void print( char );
int i=0;
void main()
{
printf(“Enter charcter”);
scanf(“%c”,&c);
print( c );
}
void print( char a)
{
if(i==20)
{
return ();
}
else
{
printf(“%c”,a);
i++;
print(a);
}
}
Non tail Recursion :
जब किसी Recursion मे ,Recursion statement last नहीं होता है तब इसे Non tail Recursion कहते है |
Passing a string to function :
string character का समूह होता है| किसी string को function के arguments मे pass करने का syntax array as argument के syntax की तरह होता है |
इसका syntax है :-
function calling मे, केवल string के नाम से call किया  जाता है |
syntax : function name (string _name) ;
function definition मे , string_name से define किया जाता है |
syntax : function type function_name (char string_name[ ]);
Function header का syntax one dimension array की तरह होता है |उदाहरण के लिए :
#include<stdio.h>
#include<conio.h>
void print( char);
void main()
{
char a;
printf(“Enter your charter “);
scanf(“%c”,&a);
print(a);
getch();
}
void print( char b)
{
int i=0;
for(i=0;i<=20;i++)
{
printf(“%c”,b);
}

आउटपुट होगा :
Enter your charter #
####################


Calling Function :
किसी भी function को main() function मे call करने के दो तरीके होते है :-
1.call by value
इस प्रकार मे , arguments मे किसी variable के data value को calling function मे pass किया जाता है |user define function मे variable की value मे हुई changes का effect main() function के actual variable पर नहीं पड़ता है |
2.Call by reference
इसमें actual parameter के address formal parameter मे pass होती है |user define function मे हुई changes  का effect actual parameter मे होता है |

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