C भाषा शेष गणनाको आधार र ध्यान दिनुपर्ने बुँदा | त्रुटि रोकथाम र प्रयोग

目次

1. परिचय

C भाषा एक आधारभूत र शक्तिशाली प्रोग्रामिङ भाषा हो, जुन शुरुआतीदेखि पेशेवरसम्मका विभिन्न विकासकर्ताहरूले प्रयोग गर्छन्। त्यसमा, “शेष अपरेटर (%)” प्रोग्रामलाई प्रभावकारी रूपमा लेख्न अनिवार्य महत्वपूर्ण तत्व हो। यस लेखमा, C भाषा को शेष अपरेटरको आधारभूतदेखि प्रयोग, ध्यान दिनुपर्ने बुँदाहरू, साथै प्रायः सोधिने प्रश्नहरूबारे विस्तृत रूपमा व्याख्या गर्नेछौं।

2. C भाषा को मोड्युलस अपरेटर (%) के हो

मोड्युलस अपरेटरको मूलभूत भूमिका

C भाषामा मोड्युलस अपरेटर(%)ले पूर्णांकलाई भाग गर्दा प्राप्त हुने “बाँकी” लाई गणना गर्ने अपरेटर हो। उदाहरणका लागि, “7 ÷ 3” गणना गर्दा भागफल 2 र बाँकी 1 हुन्छ। यो बाँकी भागलाई प्राप्त गर्ने नै मोड्युलस अपरेटर हो।

उदाहरण: मूलभूत मोड्युलस गणना

#include <stdio.h>
int main() {
    printf("%d
", 7 % 3);   // आउटपुट: 1
    return 0;
}

पूर्णांक प्रकारमा प्रयोग

मोड्युलस अपरेटर केवल पूर्णांक प्रकार(int प्रकार आदि)मा मात्र लागू हुन्छ। फ्लोटिङ‑प्वाइन्ट प्रकार(float वा double)मा सिधै प्रयोग गर्न सकिँदैन, त्यसैले गणना आवश्यक परेमा अलग फङ्क्शन प्रयोग गर्नुपर्छ।

侍エンジニア塾

3. शेषफल गणनाको विशिष्ट उदाहरण

धनात्मक पूर्णांकहरू बीचको गणनाको उदाहरण

तलको उदाहरणमा, धनात्मक पूर्णांकहरू बीचको शेषफल गणना देखाइन्छ।

#include <stdio.h>
int main() {
    printf("%d
", 10 % 4);  // आउटपुट: 2
    printf("%d
", 15 % 6);  // आउटपुट: 3
    return 0;
}

व्याख्या:10 लाई 4 ले भाग गर्दा भागफल 2, शेष 2 हुन्छ। त्यसै गरी 15 लाई 6 ले भाग गर्दा भागफल 2, शेष 3 हुन्छ।

नकारात्मक संख्याहरू समावेश गर्दा व्यवहार

C भाषामा, शेषफल गणनाको परिणामको चिन्ह भाग लिने संख्याको (अंश) चिन्हमा निर्भर गर्दछ।

#include <stdio.h>
int main() {
    printf("%d
", -7 % 3);  // आउटपुट: -1
    printf("%d
", 7 % -3);  // आउटपुट: 1
    return 0;
}

व्याख्या:-7 % 3 को अवस्थामा, भाग लिने संख्या नकारात्मक भएको कारण शेषफल पनि नकारात्मक मान हुन्छ।

अन्य भाषाहरूसँगको भिन्नता

Python र JavaScript मा, शेषफल गणनाको परिणाम भाग दिने संख्याको (हर) चिन्हमा निर्भर हुन सक्छ। यस व्यवहारको भिन्नता विभिन्न भाषाहरू बीच प्रोग्राम पोर्ट गर्दा ध्यान दिनु आवश्यक छ।

4. शेष गणना सम्बन्धी ध्यान दिनु पर्ने बुँदाहरू

नकारात्मक संख्याको व्यवहार र नियमिता

शेष गणनामा चिन्हको ह्यान्डलिंग प्रोग्रामको व्यवहारलाई सही रूपमा बुझ्न महत्त्वपूर्ण छ। नकारात्मक संख्यालाई ह्यान्डल गर्दा सधैं भाग लिने संख्याको चिन्ह जाँच गर्नुपर्छ।

शून्यद्वारा शेष गणनाको त्रुटि

सी भाषामा, भागफल शून्य भएमा, शेष गणना अपरिभाषित व्यवहार बनिन्छ। यस अवस्थामा, रनटाइम त्रुटि वा प्रोग्रामको असामान्य समाप्ति हुन सक्छ, त्यसैले गणना अघि शून्य जाँच गर्नु महत्त्वपूर्ण छ।

if (denominator == 0) {
    printf("हरिणक शून्य हुन सक्दैन。
");
} else {
    printf("%d
", numerator % denominator);
}

फ्लोटिङ पोइन्ट प्रकारमा सीमाहरू

फ्लोटिङ पोइन्ट संख्यामा शेष गणना गर्न चाहनुहुन्छ भने, fmod फङ्क्शन प्रयोग गर्नुहोस्।

#include <math.h>
#include <stdio.h>
int main() {
    printf("%.2f
", fmod(7.5, 3.0));  // आउटपुट: 1.50
    return 0;
}

5. शेषफल अपरेसनको प्रयोग उदाहरण

एरेको चक्रीय प्रक्रिया

शेषफल अपरेसन एरेको इन्डेक्सलाई चक्रीय बनाउँदा उपयोगी हुन्छ। तल एरेको अन्त्यबाट सुरुमा फर्कने प्रक्रियाको उदाहरण हो।

#include <stdio.h>
int main() {
    int arr[] = {10, 20, 30};
    int n = 3; // एरेको तत्व संख्या
    for (int i = 0; i < 10; i++) {
        printf("%d
", arr[i % n]);
    }
    return 0;
}

सम संख्या・विषम संख्या को निर्धारण

संख्या सम हो या विषम, निर्धारण गर्दा पनि शेषफल अपरेसन प्रयोग गरिन्छ।

if (x % 2 == 0) {
    printf("यो सम संख्या हो
");
} else {
    printf("यो विषम संख्या हो
");
}

6. FAQ(बारम्बार सोधिने प्रश्नहरू)

Q1: नकारात्मक संख्याहरू समावेश भएमा, बाँकी परिणामको चिन्ह कस्तो हुन्छ?

A1: C gengo मा भागफलको चिन्हमा निर्भर गर्दछ।

Q2: फ्लोटिङ पोइन्ट संख्यामा बाँकी अपरेसन गर्न चाहनुहुन्छ भने?

A2: fmod फङ्क्शन प्रयोग गर्नुहोस्।

Q3: बाँकी अपरेसनमा त्रुटि उत्पन्न हुने कारण के हो?

A3: मुख्यतया 「भाजक शून्य」 भएको त्रुटि वा 「प्रकार असमानता」 उल्लेखित छन्।

Q4: बाँकी अपरेसन प्रयोग गरेर कुशल एल्गोरिदमको उदाहरण के हो?

A4: एरेको घुमाउरो प्रक्रिया वा ह्यास टेबलको इन्डेक्स गणना प्रतिनिधि उदाहरणहरू हुन्।

7. सारांश

शेषफल अपरेसन C भाषा प्रोग्रामिङमा आधारभूत र शक्तिशाली उपकरण हो। यस लेखमा, आधारदेखि प्रयोग, ध्यान दिनुपर्ने बुँदा, FAQ सम्म समग्र रूपमा व्याख्या गरिएको छ। शेषफल अपरेसनको विशेषताहरूलाई सही रूपमा बुझेर, उपयुक्त रूपमा प्रयोग गर्दा, अझ प्रभावकारी प्रोग्राम बनाउन सकिन्छ।