for Loop with Multiple Conditions in C Language: for Loop की एक और विशेषता ये भी है कि हम एक ही for Loop कोष्ठक में आवश्यकता के अनुसार कई Loop चला सकते हैं। इसका syntax निम्नानुसार होता है-
for( Initial1, Initial 2,…, Initial Part n ; ConditionalPart; Step1, Stept2, …, StepN ) { Statements Block; }
एक उदाहरण द्वारा इसे समझते हैं। माना हमें निम्न Format में गिनती Print करनी है।
1 10 1 10 2 9 2 9 3 8 3 8 4 7 4 7 5 6 5 6 6 5 6 5 7 4 7 4 8 3 8 3 9 2 9 2 10 1 10 1
इस प्रोग्राम में चार पंक्तियों में अंक Print हुए हैं इसलिए हमें चार अंकों के लिए चार Variable लेने होंगे। माना हमने चार Variable b, c, d, f लिए। इस प्रोग्राम में दो Variables को तो मान वैसे ही दिया जाएगा जिस तरह Loop के पिछले प्रोग्राम में दिया है, यानी निम्नानुसार-
b = 1 d = 1 b <= 10 d <= 10 b++ d++
लेकिन दो Variables के साथ इसकी उल्टी प्रक्रिया करनी होगी यानी Loop का मान प्रथम मान 10 व अन्तिम मान 1 होना चाहिये तथा प्रोग्राम में Variables का Decrement होना चाहिये। इससे Variable c व f का मान निम्नानुसार हो जाएंगे:
c = 10 f = 10 c >= 1 f >= 1 c-- f--
अब इन चारों Variables का मान ऊपर वाले for Loop के Syntax के अनुसार लिख देते हैं, तो हमें में निम्नानुसार Format प्राप्त होता है-
for(b=1, c=10, d=1, f=10; b<=10, c>=1, d<=10, f>=1; b++, c–, d++, f–)
इस Loop में चार Loop एक साथ चलेंगे। अब हम यदि इन Loops से प्राप्त मानों को Output में Print करें, तो हमें हमारा वांछित परिणाम प्राप्त हो जाएगा। इसके लिए हमें Statement Block में निम्न Statement लिखना होगा:
{ printf(“\t %d \t %d \t %d \t %d \t \n”, b, c, d, f); }
अब हम पूरा प्रोग्राम लिखते हैं, जो निम्नानुसार होगा:
Program /* Using Of For Loop with multiple Conditions */ #include<stdio.h> main() { int b, c, d, f; clrscr(); for(b=1,c=10,d=1,f=10 ; b<=10,c>=1,d<=10,f>=1; b++, c--, d++, f--) { printf("%d \t %d \t %d \t %d \t \n", b, c, d, f ); } getch(); }
इस प्रोग्राम में पहली बार जब Loop का Execution होता है तब b=1, c=10, d=1 व f=10 होता है। अगले Iteration में b=2, c=9, d=2 व f=9 हो जाता है। इसी प्रकार ये क्रम चलता रहता है और क्रम से Output में हमें मान प्राप्त होता जाता है।
एक खास बात इस Loop की यह है कि इसमें Loop Control के लिए जो Condition दी जाती है, वह Condition सभी को देने की कोई जरूरत नहीं होती है, क्योंकि Program Control केवल एक Condition को ही Check करता है, शेष Condition को Check ही नहीं करता।
इसलिए यदि हम चाहें तो केवल एक ही Condition से भी यही Output प्राप्त कर सकते हैं। इस प्रोग्राम में Loop f>=1 की Condition पर काम कर रहा है। इसलिए हम चाहें तो शेष Condition को हटा सकते हैं। ऐसा करने पर प्रोग्राम की for Condition कुछ इस प्रकार से हो जाएगी।
for(b=1,c=10,d=1,f=10 ; f>=1; b++, c–, d++, f–)
यदि यह Syntax हम for Loop प्रोग्राम में Use किये गए Loop के स्थान पर Use करते हैं, तो भी Output वही प्राप्त होता है जो पहले हुआ था। सारांश के रूप में हम कह सकते हैं कि जब एक for Loop में कई Loop एक साथ Execute करने होते हैं तो हर Loop का प्रारम्भिक मान व Step Size तो सभी को दिया जाता है, लेकिन एक for Loop में Condition सिर्फ एक ही हो सकती है। यदि एक से अधिक Condition देते हैं, तो अन्तिम Loop की Condition के अनुसार ही Loop Execute होता है क्योंकि for Loop Right To Left चलता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C Programming Language in Hindi | Page: 477 + 265 | Format: PDF