1. परिचय
C भाषा सिक्न सुरु गर्दा, विभिन्न प्रोग्रामिङका आधारभूत समस्याहरूको सामना गर्नुहुन्छ। ती मध्ये 「सम संख्या र बिषम संख्या निर्धारण」 शुरुआतीहरूका लागि बुझ्न सजिलो, साथै व्यावहारिक क्षमता विकास गर्ने विषयहरूमध्ये एक हो।
सम संख्या वा बिषम संख्या निर्धारण प्रक्रिया विद्यालयका कार्यहरू र वास्तविक प्रोग्राम विकासमा पनि प्रायः प्रयोग गरिन्छ, त्यसैले यसलाई राम्रोसँग बुझ्नु आवश्यक आधारभूत ज्ञान हो।
यस लेखमा, C भाषा प्रयोग गरेर सम‑बिषम संख्या निर्धारण गर्ने तरिकाबारे, शुरुआतीहरूका लागि पनि बुझ्न सजिलो बनाउने उद्देश्यले, विशिष्ट नमुना कोड, निर्धारण तर्क, सामान्य त्रुटिहरू र अनुप्रयोग उदाहरणहरू सहित विस्तृत रूपमा व्याख्या गर्नेछौं।
「किन यसरी निर्धारण गर्ने?」「अरू लेखन तरिका छैन?」 जस्ता प्रश्नहरूलाई पनि उत्तर दिने गरी सामग्री तयार गरिएको छ, त्यसैले यो लेख पढेपछि, सम‑बिषम संख्या निर्धारणमा आत्मविश्वासका साथ गर्न सक्नुहुनेछ।
C भाषा सिक्न सुरु गर्ने वा आधारभूत कुरा पुनरावलोकन गर्न चाहने सबैलाई, कृपया अन्त्यसम्म साथ दिनुहोस्।
2. सम संख्या र बिषम संख्या को परिभाषा र निर्धारण विधि
सम संख्या र बिषम संख्या गणित र अंकगणितमा परिचित शब्दहरू हुन्, तर प्रोग्रामिङमा पनि तिनीहरूको परिभाषा मूलतः उस्तै हुन्छ। पहिले हरेकको अर्थ सरल रूपमा जाँचौं।
2.1 सम संख्या र बिषम संख्या को परिभाषा
- सम संख्या: 2 ले पूर्ण रूपमा भाग जाने पूर्णांक (0, 2, 4, -2, -4 आदि समावेश हुन्छन्)
- बिषम संख्या: 2 ले पूर्ण रूपमा भाग नजाने पूर्णांक (1, 3, 5, -1, -3 आदि)
C भाषामा, यो “2 ले पूर्ण रूपमा भाग जान्छ कि जान्दैन” जाँच गरेर, संख्यालाई सम हो या बिषम हो निर्धारण गरिन्छ।
2.2 C भाषामा प्रयोग हुने शेष अपरेटर “%”
C भाषामा सम वा बिषम संख्या निर्धारण गर्दा सबैभन्दा धेरै प्रयोग हुने कुरा “शेष अपरेटर (%)” हो। यो अपरेटरले बायाँपट्टि रहेको संख्या दायाँपट्टि रहेको संख्याले भाग गर्दा बाँकी “शेष” निकाल्छ।
उदाहरण:
7 % 2
ले 1 परिणाम दिन्छ (7 लाई 2 ले भाग गर्दा शेष 1 हुन्छ)।
8 % 2
ले 0 परिणाम दिन्छ (8 लाई 2 ले भाग गर्दा शेष 0 हुन्छ)।
2.3 सम संख्या र बिषम संख्या निर्धारण तर्क
यो शेष अपरेटर प्रयोग गरेर, तलको जस्तै निर्धारण गर्न सकिन्छ।
- यदि भाग गर्दा शेष(num % 2)0 हो भने “सम संख्या”
- यदि शेष 1 वा -1 हो भने “बिषम संख्या”
प्रोग्रामको रूपमा व्यक्त गर्दा, तलको जस्तै सर्त प्रयोग गर्न सकिन्छ।
यदि num % 2 == 0 तर सम संख्या
अन्यथा विषम संख्या
यो C भाषामा सम र बिषम संख्या निर्धारणको आधारभूत तर्क हो। अर्को अध्यायमा, यस प्रणाली प्रयोग गरेर बनाइएका वास्तविक प्रोग्राम उदाहरणहरूलाई विस्तृत रूपमा प्रस्तुत गर्नेछौं।
3. C भाषा मा सम/विषम निर्धारण कार्यक्रम
यहाँ, वास्तविक रूपमा C भाषा प्रयोग गरेर सम/विषम निर्धारण गर्ने कार्यक्रम प्रस्तुत गरिन्छ। शुरुआतीहरूलाई पनि बुझ्न सजिलो बनाउने उद्देश्यले, आधारभूत नमुना कोड र यसको व्याख्या, कार्यान्वयन उदाहरणसम्म क्रमशः व्याख्या गरिनेछ।
3.1 आधारभूत नमुना कोड
पहिले सबैभन्दा सरल निर्धारण कार्यक्रमलाई हेरौं।
#include <stdio.h>
int main(void) {
int num;
printf("पूर्णांक प्रविष्ट गर्नुहोस्: ");
scanf("%d", &num);
if (num % 2 == 0) {
printf("%dसम संख्या हो。\n", num);
} else {
printf("%dविषम संख्या हो。\n", num);
}
return 0;
}
3.2 कार्यक्रमको विस्तृत व्याख्या
- चलको घोषणा
int num;
द्वारा पूर्णांक प्रकारको चल num तयार गरिएको छ। - इनपुटको प्राप्ति
scanf("%d", #);
द्वारा किबोर्डबाट पूर्णांक प्राप्त गरिन्छ। - निर्धारण प्रक्रिया
if (num % 2 == 0)
को सर्त अभिव्यक्तिमा, num लाई 2 ले भाग गर्दा बाँकी शून्य हो कि होइन जाँचिन्छ। शून्य भए सम, नत्र विषम। - परिणामको प्रदर्शन
निर्धारण परिणामलाईprintf
द्वारा स्क्रीनमा देखाइन्छ।
3.3 कार्यान्वयन उदाहरण
तलको उदाहरणमा कार्यक्रम चलाउँदा प्राप्त इनपुट र आउटपुट देखाइन्छ।
पूर्णांक प्रविष्ट गर्नुहोस्: 8
8 एक सम संख्या हो。
पूर्णांक प्रविष्ट गर्नुहोस्: -3
-3 विषम संख्या हो。
यसरी, C भाषा मा सरल सर्त अभिव्यक्ति र मोड्युलस अपरेटरलाई संयोजन गरेर, सम/विषम निर्धारण सजिलै गर्न सकिन्छ।
अर्को अध्यायमा, यस आधारभूत निर्धारणलाई विभिन्न लेखन शैली र रूपान्तरणहरूद्वारा व्यक्त गर्ने तरिकाहरू प्रस्तुत गरिनेछ।
4. निर्णय विधिको विविधता
C भाषामा सम/विषम निर्धारण गर्ने विधिहरूमा, आधारभूत if कथन बाहेक पनि केही विविधताहरू छन्। यहाँ, प्रतिनिधि लेखन शैली र विचारहरू प्रस्तुत गरिन्छ, र प्रत्येकको विशेषता र प्रयोगको सन्दर्भमा पनि व्याख्या गरिन्छ।
4.1 if कथन प्रयोग गरेर निर्णय विधि
सबैभन्दा सामान्य र बुझ्न सजिलो भनेको, if कथन द्वारा विधि हो। अघिल्लो अध्यायको नमुना कोड पनि यही ढाँचा हो।
पठनीयता उच्च छ, र शुरुआतीहरूलाई पनि सिफारिस गर्न सकिन्छ।
if (num % 2 == 0) {
// सम संख्या को अवस्थामा प्रक्रिया
} else {
// विषम संख्या को अवस्थामा प्रक्रिया
}
4.2 switch कथन प्रयोग गरेर निर्णय विधि
switch कथनले पनि सम/विषम निर्धारण गर्न सक्छ। तर, सामान्यतया switch सीमित मानहरू भएको अवस्थामा प्रयोग गरिन्छ, तर सम/विषम निर्धारणमा पनि प्रयोग गर्न सकिन्छ।
switch (num % 2) {
case 0:
printf("%d हो सम संख्या हो。
", num);
break;
case 1:
case -1: // नकारात्मक विषम संख्याहरूलाई पनि समर्थन गर्दछ
printf("%d हो विषम संख्या हो。
", num);
break;
}
बिन्दु
case 1
मात्र नभईcase -1
पनि उल्लेख गर्दा, नकारात्मक संख्याहरू पनि सुरक्षित रूपमा निर्धारण गर्न सकिन्छ।
4.3 त्रि-अंग सञ्चालक प्रयोग गरेर संक्षिप्त अभिव्यक्ति
अझ छोटो र १ पङ्क्तिमा लेख्न चाहनुहुन्छ भने, त्रि-अंग सञ्चालक प्रयोग गर्ने विधि पनि छ।
printf("%d हो %s।\n", num, (num % 2 == 0) ? "सम" : "विषम");
विशेषता
- त्रि-अंग सञ्चालक सर्त अभिव्यक्तिको संक्षिप्त लेखनमा उपयुक्त छ, र एक पङ्क्तिमा व्यक्त गर्न चाहनुहुन्छ भने उपयोगी हुन्छ।

4.4 प्रत्येकको फाइदा र बेफाइदा
विधि | फाइदा | बेफाइदा |
---|---|---|
if कथन | पढ्न सजिलो, त्रुटि कम, शुरुआतीहरूका लागि उपयुक्त | कोड थोरै लामो हुन सक्छ |
switch कथन | case थप्न सजिलो, सर्त अनुसारको प्रक्रिया विस्तार गर्न सजिलो | थोरै दोहोर्याइँ, अपरिचित भए पढ्न गाह्रो हुन सक्छ |
त्रि-अंग सञ्चालक | अत्यन्त छोटो लेख्न सकिन्छ, एक पङ्क्तिमा समाप्त हुन्छ | पठनीयता कम हुन सक्छ, जटिलता बढ्न सक्छ |
आफ्नो लेखन सहजता, प्रोग्रामको आकार, पठनीयता आदि अनुसार, उपयुक्त विधि चयन गर्नु राम्रो हुन्छ।
5. अनुप्रयोग उदाहरण: सकारात्मक-नकारात्मक निर्धारणसँग संयोजन
जोड र बेजोडको निर्धारण एक्लै पनि उपयोगी हुन्छ, तर केही प्रोग्रामहरूमा 「सकारात्मक जोड」「नकारात्मक बेजोड」 जस्ता अझ विस्तृत वर्गीकरण आवश्यक पर्न सक्छ। यहाँ, जोड/बेजोड निर्धारण र सकारात्मक-नकारात्मक निर्धारणलाई संयोजन गरेको अनुप्रयोग उदाहरण प्रस्तुत गरिन्छ।
5.1 सकारात्मक-नकारात्मक पनि निर्धारण गर्ने अवस्थामा नमुना कोड
तलको प्रोग्रामले इनपुट गरिएको पूर्णांक 「सकारात्मक जोड」「सकारात्मक बेजोड」「नकारात्मक जोड」「नकारात्मक बेजोड」「शून्य」 मध्ये कुन हो भनेर निर्धारण गरी देखाउँछ।
#include <stdio.h>
int main(void) {
int num;
printf("पूर्णांक प्रविष्ट गर्नुहोस्: ");
scanf("%d", #);
if (num == 0) {
printf("0 एक सम संख्या हो。\n");
} else if (num > 0) {
if (num % 2 == 0) {
printf("%d एक धनात्मक सम संख्या हो。\n", num);
} else {
printf("%d एक धनात्मक विषम संख्या हो。\n", num);
}
} else {
if (num % 2 == 0) {
printf("%d एक ऋणात्मक सम संख्या हो。\n", num);
} else {
printf("%d एक ऋणात्मक विषम संख्या हो。\n", num);
}
}
return 0;
}
5.2 प्रोग्रामको व्याख्या
- num == 0 को अवस्थामा
शून्यलाई गणितीय रूपमा जोडमा वर्गीकृत गरिन्छ, त्यसैले विशेष रूपमा निर्धारण गरिएको छ। - num > 0 को अवस्थामा
सकारात्मक पूर्णांकको लागि, जोड र बेजोडलाई क्रमशः निर्धारण गरिन्छ। - num < 0 को अवस्थामा
नकारात्मक पूर्णांकको लागि पनि समान रूपमा जोड र बेजोडलाई निर्धारण गरिन्छ।
5.3 व्यावहारिक अनुप्रयोग उदाहरण
- डेटा प्रशोधन र नियन्त्रण प्रोग्राममा प्रयोगको विभाजन
उदाहरणका लागि, केवल जोडलाई लक्षित गरेर केही प्रक्रिया सञ्चालन गर्न वा केवल सकारात्मक बेजोडलाई विशेष रूपमा व्यवहार गर्न जस्ता केसहरूमा प्रयोग गर्न सकिन्छ। - प्रोग्रामको विविधता सुदृढीकरण
सकारात्मक-नकारात्मक र जोड-बेजोडको संयोजनले आउटपुट वा प्रक्रियालाई परिवर्तन गरेर, प्रोग्रामको लचकता र व्यावहारिकता बढ्छ।
यसरी, आधारभूत निर्धारणमा थोरै परिवर्तन गरेर, अझ व्यावहारिक तर्क बनाइँन सक्छ।
6. सामान्य त्रुटिहरू र तिनीहरूको समाधान
सम संख्या र विषम संख्या निर्धारण सरल छ, तर प्रोग्राम लेख्दा केही ध्यान दिनुपर्ने बुँदा र शुरुआतीहरूले सजिलै अड्किने बिन्दुहरू हुन्छन्। यहाँ सामान्य त्रुटिहरू र समस्याहरूको कारण, र तिनीहरूको समाधानबारे व्याख्या गरिन्छ।
6.1 पूर्णांक बाहेकको इनपुटको सामना
scanf("%d", #);
मा पूर्णांक बाहेकको मान (उदाहरण: अक्षर वा दशमलव बिन्दु सहितको संख्या) इनपुट भएमा, प्रोग्राम सही रूपमा काम नगर्न सक्छ वा अनपेक्षित व्यवहार देखाउन सक्छ।
उपाय उदाहरण
इनपुट मान पूर्णांक हो कि होइन जाँच गरेर, गलत इनपुट भएमा त्रुटि सन्देश देखाएर, अझ बलियो प्रोग्राम बनाउन सकिन्छ।
#include <stdio.h>
int main(void) {
int num;
printf("पूर्णांक प्रविष्ट गर्नुहोस्: ");
if (scanf("%d", &num) != 1) {
printf("पूर्णांक बाहेक केही प्रविष्ट गरियो。
");
return 1;
}
// यहाँ निर्णय प्रक्रिया जारी राख्नुहोस्
return 0;
}
6.2 नकारात्मक संख्या र शून्यको ह्यान्डलिंग सम्बन्धी ध्यान दिनुपर्ने बुँदा
- शून्यको ह्यान्डलिंग
शून्य गणितीय रूपमा सम संख्या हो, तर कहिलेकाहीँ निर्धारणको सर्तबाट बाहिर निस्किन सक्छ। स्पष्ट रूपमा शून्यको प्रक्रिया लेख्दा सुरक्षित हुन्छ। - नकारात्मक संख्याको बाँकी मान
C भाषामा, नकारात्मक संख्यालाई% 2
ले भाग गर्दा बाँकी -1 हुन सक्छ। विषम निर्धारणमाnum % 2 == 1
मात्र होइन,num % 2 == -1
पनि विचार गर्नुपर्छ।
6.3 प्रोग्राम अपेक्षित रूपमा काम नगरेको अवस्थामा डिबग गर्ने तरिका
- आउटपुट सामग्रीको जाँच
printf द्वारा, चलको मान वा बाँकी मान जाँच गरेर, इच्छित गणना भएको छ कि छैन जाँच गर्न सकिन्छ। - if कथन र सर्त अभिव्यक्तिको पुनरावलोकन
निर्धारण अभिव्यक्ति सही रूपमा सेट गरिएको छ कि छैन, सर्त छुटेको छैन कि छैन पुनः जाँच गरौं। - नमूना डेटा संग धेरै पटक परीक्षण
उदाहरणका लागि “0”, “2”, “-3” आदि विभिन्न संख्याहरू इनपुट गरेर, अपेक्षित रूपमा निर्धारण हुन्छ कि हुँदैन परीक्षण गर्नु महत्त्वपूर्ण छ।
6.4 सारांश
त्रुटि र समस्याहरूलाई पूर्वै रोक्नको लागि, इनपुटको प्रमाणीकरण र सीमा मान (शून्य र नकारात्मक संख्या) को परीक्षण अत्यन्त महत्वपूर्ण छन्।
प्रोग्राम राम्रोसँग चल्दैन भने, घबराएनुहोस्, एक-एक गरी सर्त र आउटपुट जाँच गर्ने बानी बनाऔं।
7. सारांश
यस लेखमा, C भाषा प्रयोग गरेर सम/विषम निर्धारण विधि बारे, आधारभूतदेखि अनुप्रयोग, र त्रुटि उपायसम्म विस्तृत रूपमा व्याख्या गरिएको छ। अन्तमा, सिकेको सामग्रीलाई पुनरावलोकन गर्दै, भविष्यका चरणहरूलाई पनि सारांशित गर्नेछौं।
7.1 लेखको मुख्य बुँदाहरूको पुनरावलोकन
- सम र विषमको परिभाषा तथा निर्धारण विधि
समलाई “2 ले पूर्ण रूपमा भाग जाने संख्या” र विषमलाई “2 ले भाग नजाने संख्या” भनेर परिभाषित गरिन्छ, र C भाषामा शेष अपरेटर (%) प्रयोग गरेर सजिलै निर्धारण गर्न सकिन्छ भन्ने कुरा सिक्यौं। - मूलभूत प्रोग्राम उदाहरण र यसको व्याख्या
if कथनलाई केन्द्रमा राखी, switch कथन र टर्नरी अपरेटरजस्ता विभिन्न लेखन शैलीहरू प्रस्तुत गरियो। - अनुप्रयोगात्मक प्रयोगहरू
सम/विषम निर्धारण र सकारात्मक/नकारात्मकको संयोजन, त्रुटि ह्यान्डलिंग तथा इनपुट जाँचका व्यावहारिक उदाहरणहरू पनि समेटेर, अझ व्यावहारिक दृष्टिकोणबाट सिक्न सकियो। - सामान्य त्रुटि र समस्याहरूको समाधान विधि
इनपुट जाँच र डिबगिङका बुँदाहरू पनि प्रस्तुत गरियो।
7.2 सिकेको ज्ञानको उपयोग गर्ने तरिका
सम/विषम निर्धारण तर्कशास्त्र C भाषाको आधार सिक्दा लगभग अनिवार्य रूपमा देखा पर्छ। यस लेखमा प्रस्तुत सामग्रीलाई राम्ररी बुझ्नुभयो भने, सर्त शाखा र इनपुट प्रोसेसिङजस्ता अझ जटिल प्रोग्रामहरूमा पनि लागू गर्न सक्नुहुनेछ।
उदाहरणका लागि,
- एरेबाट केवल सम संख्याहरू निकाल्ने
- इनपुट गरिएका बहु मानहरूबाट विषमको योग निकाल्ने
- विशिष्ट सर्त अन्तर्गत प्रक्रिया शाखा बनाउने
जस्ता, धेरै व्यावहारिक परिस्थितिहरूमा प्रयोग गर्न सकिन्छ।
7.3 थप अध्ययनको चरणहरू
सम/विषम निर्धारणमा निपुण भएपछि, अब “for र while लूपद्वारा दोहोर्याउने प्रक्रिया”, “एरे सञ्चालन”, “फङ्क्शन निर्माण” जस्ता कुराहरूमा चुनौती दिनुहोस्। प्रोग्रामको दायरा क्रमशः विस्तार हुनेछ, र अझ उन्नत कार्यहरूलाई पनि सामना गर्न सकिनेछ।
यसरी C भाषामा सम/विषम निर्धारणको आधार पूर्ण रूपमा बुझियो। कृपया वास्तविक रूपमा कोड लेखेर, विभिन्न ढाँचामा प्रोग्राम बनाउँदै बुझाइलाई गहिरो बनाउनुहोस्।
8. FAQ(सामान्य प्रश्नहरू)
यहाँ, C भाषा मा सम/विषम निर्धारण गर्दा अक्सर आउने प्रश्नहरू र समस्याहरूलाई संक्षिप्त रूपमा उत्तर दिनेछौं।
Q1: C भाषा मा सम/विषम निर्धारण गर्ने सबैभन्दा सरल तरिका के हो?
A1:
if (num % 2 == 0)
को शर्त अभिव्यक्ति प्रयोग गर्ने सबैभन्दा सामान्य र सरल तरिका हो। बाँकी 0 भए सम, नत्र विषम हो।
Q2: नकारात्मक पूर्णांक र शून्यलाई पनि सही रूपमा निर्धारण गर्न सकिन्छ?
A2:
हो, शून्यलाई सम रूपमा मानिन्छ। साथै, C भाषा को मोड्युलो अपरेटरले नकारात्मक संख्यालाई ह्यान्डल गर्दा num % 2
को मान -1 हुन सक्छ, त्यसैले विषम निर्धारण गर्दा केवल num % 2 == 1
मात्र होइन, num % 2 == -1
पनि विचार गर्नु राम्रो हुन्छ।
Q3: if कथन बाहेक निर्धारण गर्ने तरिका के हो?
A3:
switch कथन वा टर्नरी अपरेटर(शर्त ? सत्यको मान : असत्यको मान
)द्वारा पनि निर्धारण गर्न सकिन्छ।
उदाहरण:
printf("%d हो %s。
", num, (num % 2 == 0) ? "सम" : "विषम");
Q4: इनपुट पूर्णांक बाहेक (उदाहरण: स्ट्रिङ वा दशमलव) भएमा के हुन्छ?
A4:
scanf("%d", #);
मा, पूर्णांक बाहेकको इनपुट आएमा अनपेक्षित व्यवहार हुन सक्छ। इनपुट मान पूर्णांक हो कि होइन पूर्व जाँच गर्नु वा अवैध इनपुटमा त्रुटि देखाउने प्रक्रिया थप्नु सुरक्षित हुन्छ।
Q5: धेरै मानहरूलाई एकै पटक निर्धारण गर्न चाहनुहुन्छ भने?
A5:
for वा while लूप प्रयोग गरेर दोहोर्याउने प्रक्रिया प्रयोग गर्दा, धेरै संख्याहरूको निर्धारणलाई स्वचालित गर्न सकिन्छ। एरे प्रयोग गर्दा ठूलो डेटा पनि सजिलै निर्धारण गर्न सकिन्छ।
Q6: अझ उन्नत सम/विषम निर्धारण विधिहरू छन्?
A6:
उदाहरणका लागि बिट अपरेसन(num & 1
)प्रयोग गर्ने तरिका पनि छ। बिट अपरेसन छिटो हुन्छ, तर शुरुआतीहरूलाई अलिकति बुझ्न गाह्रो हुन सक्छ। यदि चासो छ भने खोजी गर्नुहोस्।
यस लेखको सामग्री र नमुना कोडलाई प्रयोग गरी, प्रश्न वा अस्पष्टता भएमा निरन्तर अभ्यास गर्दै बुझाइलाई गहिरो बनाउनुहोस्। प्रोग्रामिङको आधारभूत क्षमता दृढ रूपमा प्राप्त हुनेछ।