एक tutorial में हमने functions के बारे में सीखा था क्योकि यदि आपको functions के बारे मे नही पता हैं तो सबसे पहले C functions को समझले तभी आप recursion process को समझ सकते हैं । इस tutorial में हम recursive function यानिकी recursion के बारे मे समझेंगे ।
Recursion in C programming | C language in Hindi
यदि आपने functions में सीखा होगा की हम एक function के अंदर दूसरा function call करते हैं ये तो आम सी बात होती हैं यदि आपको किसी function को दूसरे function में call करना हैं ।पर यदि जब हम किसी function को उसी function मे call करते हैं तो उसे हम recursion कहते हैं और उस function को recursive function कहते हैं ।
साधारण हिन्दी भाषा में समझे तो जैसे आपको कोई function बनाने की जरूरत होती हैं तो function बना लेते हैं फिर उस function को main() function में call करा लेते हैं तो ये process calling process कहलाता हैं पर यदि आप समान function को उसी function में call करते हैं तो उसे recursion कहते हैं ओर ऐसे उपयोग होने वाले function recursive function कहलाते हैं ।
Syntax of Recursion in C –
void func()
{
func()
}
इस syntax से आप समझ सकते हैं की हमने func() नामक function में func() function को ही कॉल किया तो इसी process को recursion कहते हैं । C programming , recursion को support करती है मतलब समान function समान function में call किया जा सकता हैं ।
चलिये C programming में recursive function के द्वारा program बनाते हैं –
Find natural numbers using recursion in C programming
#include <stdio.h>
void natural(int num);
int main()
{
int num;
printf("Enter a Number : ");
scanf("%d",&num);
natural(num);
return 0;
}
void natural(int num)
{
printf("%d ",num);
if(num==1)
{
return;
}
else
{
natural(num-1);
}
}
Output –
10 9 8 7 6 5 4 3 2 1
उपर दिये गए उदाहरण में हमने natural() नाम से एक function बनाया हैं और इसी function में समान natural() function का उपयोग (call) किया हैं जिसके द्वारा बार बार n numbers तक reverse में natural numbers को print किया हैं ।
जैसे हमने enter किया 10 तो हर बार 1 वैल्यू minus होती हैं और print हो जाती हैं और जब वैल्यू 1 बचती हैं तो वहाँ पर compiler को खाली जाना पड़ता हैं और प्रोग्राम end हो जाता हैं । यहाँ पर हमने if statement का भी उपयोग किया हैं । यह काम हम C loops के द्वारा भी कर सकते थे पर recursion से समान function के द्वारा यह बहुत आसान हो गया हैं ।
इस तरह से कितनी आसानी से function के अंदर उसी function का उपयोग करके अपना काम किया बस इसी को ही recursion कहते हैं और इस function को recursive function कहते हैं ।
कई mathematical समस्याओं को हल करने के लिए recursion बहुत उपयोगी होता है , जैसे
जैसे किसी number का factorial प्राप्त करना, Fibonacci series बनाना आदि। इन सभी कामो के लिए recursion process बहुत ही महत्वपूर्ण हैं ।
चलिये C programming में recursion को एक ओर उदाहरण से समझते हैं ।
Find factorial of a number in C programming using recursion –
इस tutorial में हम number का factorial प्राप्त करेंगे वैसे हमने factorial mathematics में सीखा था की यदि 5 number का factorial निकालना हैं तो सबसे पहले numbers को 5 से ही घटते क्रम में गुना करते जाए –
Factorial of 5
5=5*4*3*2*1= 120
इस तरह से 120 factorial वैल्यू प्राप्त हुई हैं इसे ही हम C programming मे भी प्राप्त कर सकते हैं ।
#include <stdio.h>
int factorial(unsigned int num)
{
if(num <= 1)
{
return 1;
}
return num * factorial(num - 1);
}
int main()
{
int num;
printf("Enter a Number : ");
scanf("%d",&num);
printf("Factorial of %d is %d\n", num, factorial(num));
return 0;
}
Output –
Enter a Number : 5
Factorial of 5 is 120
उपर दिये गए उदाहरण में हमने factorial() function मे functorial() function को call किया हैं इसलिए यह process recursion कहलाता हैं । इस उदाहरण में किसी भी number को enter करके उसका factorial निकाला जा सकता हैं ।
इस तरह से C programming में recursion का उपयोग किया जा सकता हैं जो की हमारे काम को बहुत आसान कर देता हैं ।
Recommended Posts:-