समस्या
नीचे दिए गए अनुसार 1 x 1 से 12 x 10 तक गुणन तालिका को प्रिंट करने के लिए एक प्रोग्राम लिखें -
1 2 3 4 5 6 7 8 9 10 2 4 6 8 ……………….20 3 6 9…………………….30 4 8 12 16……………..40 - - - 12 24……………………..120
समाधान
दो का उपयोग करें लूप करते समय करें गुणन तालिका प्रदर्शित करने के लिए नेस्टेड रूप में।
गुणन तालिका को प्रदर्शित करने के लिए प्रयुक्त तर्क इस प्रकार है -
इनर लूप को वेरिएबल कॉलम द्वारा नियंत्रित किया जाता है और हर बार बाहरी लूप निष्पादित होने पर 10 बार निष्पादित किया जाता है।
बाहरी लूप को 12 बार निष्पादित किया जाता है और चर पंक्ति द्वारा नियंत्रित किया जाता है।
do /*......OUTER LOOP BEGINS........*/{ column = 1; do /*.......INNER LOOP BEGINS.......*/{ y = row * column; printf("%4d", y); column = column + 1; } while (column <= COLMAX); /*... INNER LOOP ENDS ...*/ printf("\n"); row = row + 1; } while (row <= ROWMAX);/*..... OUTER LOOP ENDS .....*/
उदाहरण
गुणन तालिका को प्रिंट करने के लिए C प्रोग्राम निम्नलिखित है -
#include<stdio.h> #define COLMAX 10 #define ROWMAX 12 main(){ int row,column, y; row = 1; printf(" MULTIPLICATION TABLE \n"); printf("-----------------------------------------\n"); do /*......OUTER LOOP BEGINS........*/ { column = 1; do /*.......INNER LOOP BEGINS.......*/ { y = row * column; printf("%4d", y); column = column + 1; } while (column <= COLMAX); /*... INNER LOOP ENDS ...*/ printf("\n"); row = row + 1; } while (row <= ROWMAX);/*..... OUTER LOOP ENDS .....*/ printf("-----------------------------------------\n"); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -
MULTIPLICATION TABLE ----------------------------------------- 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100 11 22 33 44 55 66 77 88 99 110 12 24 36 48 60 72 84 96 108 120 -----------------------------------------