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

C++ में अगला समान कैलेंडर वर्ष खोजें

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

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

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

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

उदाहरण

#include<iostream>
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++ में एक लाइन के मध्य-बिंदु को खोजने का प्रोग्राम

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

  1. C++ में त्रिभुज के केंद्रक को खोजने का कार्यक्रम

    इस समस्या में, हमें एक 2D सरणी दी गई है जो त्रिभुज के तीन शीर्षों के निर्देशांकों को दर्शाती है। हमारा काम C++ में त्रिभुज के Centroid को खोजने के लिए एक प्रोग्राम बनाना है। सेंट्रोइड त्रिभुज का वह बिंदु है जिस पर त्रिभुज की तीन माध्यिकाएं प्रतिच्छेद करती हैं। माध्यिका त्रिभुज की वह रेखा है जो त्र

  1. C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

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