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

C++ में दो दी गई तिथियों के बीच दिनों की संख्या ज्ञात कीजिए

इस समस्या में, हमें दो सरणियाँ दी गई हैं date1[] और date2 जिसमें 3 पूर्णांक हैं जो daes के DD-MM-YYYY को दर्शाते हैं। हमारा कार्य दो दी गई तिथियों के बीच दिनों की संख्या ज्ञात करना है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

date1[] = {13, 3, 2021}, date2[] = {24, 5, 2023}

आउटपुट

802

स्पष्टीकरण

अंतर 2 साल , 2 महीने (3 - 5) और 11 दिनों का है।

2*356 + (30 + 31) + 11 = 802

समाधान दृष्टिकोण

समस्या का एक सरल समाधान लूपिंग है, जो प्रारंभ दिनांक 1 से दिनांक 2 तक दिनों की संख्या की गणना करके प्रारंभ होता है। और मूल्य वापस कर रहा है। यह दृष्टिकोण ठीक है, लेकिन एक अधिक कुशल दृष्टिकोण हो सकता है।

कुशल दृष्टिकोण

समस्या का एक अधिक कुशल तरीका यह है कि तारीख 1 [] और तारीख 2 [] दोनों तारीखों तक कुल दिनों की गिनती की जाए। और फिर दोनों के बीच पूर्ण अंतर परिणाम देता है।

01/01/0000 से दोनों दिनांक1[] तक दिनों की संख्या गिनने के लिए।

वर्ष

साल के पहले दिन तक दिनों की संख्या date1[2]

Number of days = 365*(years) + no. of leap year

महीना

महीने के पहले दिन तक कई दिनों के लिए। माह सरणी से गणना करें।

Number of days = monthDays[date[1]].

MonthDays महीने की पहली तारीख तक दिनों की कुल संख्या को संग्रहित करेगा।

दिनांक

दिनों की संख्या।

इन सभी का योग दिनांक 1 [] तक के दिनों की गिनती देता है। गणनाओं के बीच का अंतर परिणाम है।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
#include <math.h>
using namespace std;
const int monthDays[12] = { 31, 59, 90, 120, 151, 181, 212, 243,
273, 304, 334, 365 };
int countLeapYearDays(int d[]){
   int years = d[2];
   if (d[1] <= 2)
      years--;
   return ( (years / 4) - (years / 100) + (years / 400) );
}
int countNoOfDays(int date1[], int date2[]){
   long int dayCount1 = (date1[2] * 365);
   dayCount1 += monthDays[date1[1]];
   dayCount1 += date1[0];
   dayCount1 += countLeapYearDays(date1);
   long int dayCount2 = (date2[2] * 365);
   dayCount2 += monthDays[date2[1]];
   dayCount2 += date2[0];
   dayCount2 += countLeapYearDays(date2);
   return ( abs(dayCount1 - dayCount2) );
}
int main(){
   int date1[3] = {13, 3, 2021};
   int date2[3] = {24, 5, 2023};
   cout<<"The number of days between two dates is "<<countNoOfDays(date1, date2);
   return 0;
}

आउटपुट

The number of days between two dates is 802

  1. PHP प्रोग्राम दो दी गई दिनांक सीमाओं के बीच प्रत्येक सप्ताह में दिनों की संख्या खोजने के लिए

    PHP में दी गई दो दिनांक सीमाओं के बीच प्रत्येक सप्ताह में दिनों की संख्या ज्ञात करने के लिए, कोड इस प्रकार है - उदाहरण <?php    $start = "11-11-2019";    $end = "12-12-2019";    $week_day = array('Monday' => 0,    'Tuesday

  1. PHP प्रोग्राम किन्हीं दो दी गई तिथियों के बीच की तारीखों की कुल संख्या ज्ञात करने के लिए

    दो तिथियों के बीच अंतर प्राप्त करने के लिए date_diff फ़ंक्शन का उपयोग किया जा सकता है। यह एक अंतर्निहित फ़ंक्शन है जो एक विशिष्ट संख्या में दिन मिलने पर डेटइंटरवल ऑब्जेक्ट देता है, और यदि दिन नहीं मिलते हैं तो गलत लौटाता है। उदाहरण <?php $date_1 = date_create('23-11-2019'); $date_2 = date

  1. दो दी गई तिथियों के बीच दिनों की संख्या खोजने के लिए पायथन कार्यक्रम

    टो तिथियों के बीच दिनों की संख्या का पता लगाने के लिए, हम पायथन डेटाटाइम मॉड्यूल का उपयोग कर रहे हैं। सबसे पहले, आवश्यक पुस्तकालय आयात करें - from datetime import date दिनांक ऑब्जेक्ट बनाएं और उन तिथियों को इनपुट करें जिनसे आप दिनों की गणना करना चाहते हैं - date1 = date(2021, 7, 20) date2 = date(20