Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में अगला समान कैलेंडर वर्ष ढूंढें


मान लीजिए हमारे पास एक वर्ष Y है। Y के अगले समान कैलेंडर वर्ष को ढूंढें। तो 2017 का कैलेंडर 2023 के समान है।

एक वर्ष X, दिए गए पिछले वर्ष Y के समान है यदि यह इन दो शर्तों को पूरा करता है।

  • x उसी दिन से शुरू होता है जिस दिन वर्ष y शुरू होता है,
  • यदि y लीप वर्ष है, तो x भी लीप वर्ष हो, यदि y सामान्य वर्ष है, तो x भी सामान्य वर्ष हो।

विचार अगले वर्ष से एक-एक करके सभी वर्षों की जांच करना है। हम आगे बढ़े दिनों की संख्या को ट्रैक करेंगे। यदि कुल 7 आगे बढ़े दिन हैं, तो वर्तमान वर्ष उसी दिन से शुरू होता है। हम यह भी जांचते हैं कि वर्तमान वर्ष लीप वर्ष है या नहीं, यदि हां, तो y के लिए भी जांचें। यदि दोनों शर्तें पूरी होती हैं, तो हम वर्तमान वर्ष को वापस करते हैं।

उदाहरण

#include 
using namespace std;

int countExtraDays(int y) {
    if (y%400==0 || y%100!=0 && y%4==0)
        return 2;
    return 1;
}

int nextIdenticalYear(int y) {
    int days = countExtraDays(y);
    int x = y + 1;
    for (int sum=0; ; x++) {
        sum = (sum + countExtraDays(x)) % 7;
        if ( sum==0 && (countExtraDays(x) == days))
            return x;
    }
    return x;
}

int main() {
    int curr = 2019;
    cout << "Next identical year of " << curr << " is: " << nextIdenticalYear(curr);
}

आउटपुट

Next identical year of 2019 is: 2030

  1. C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, एक रेखा के प्रारंभिक और अंतिम बिंदु। हमारा कार्य C++ में रेखा का मध्य बिंदु खोजने के लिए एक प्रोग्राम बनाना है। समस्या विवरण यहां, हमारे पास प्रारंभिक और अंतिम बिंदु A(x1, y1) और B(x2, y2) वाली एक रेखा है। और हमें रेखा का मध्य बिंदु ज्ञात करना है। उद

  1. C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें एक 2D ऐरे दिया गया है जो त्रिभुज के तीन शीर्षों के निर्देशांक को दर्शाता है। हमारा कार्य C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम बनाना है।केंद्रक (Centroid) त्रिभुज का वह बिंदु है जहां त्रिभुज की तीनों मध्यिकाएं (medians) प्रतिच्छेद करती हैं।मध्यिका (Median)

  1. C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें दो मान दिए गए हैं जो समानांतर चतुर्भुज के आधार (base) और ऊंचाई (height) को दर्शाते हैं। हमारा कार्य C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम बनाना है।समानांतर चतुर्भुज (Parallelogram) चार भुजाओं वाली एक बंद आकृति है जिसकी विपरीत भुजाएं समान औ