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

C++ में सप्ताह का दिन


मान लीजिए हमारे पास एक तारीख (दिन, महीना और वर्ष) है। इस तारीख से, हमें उस दी गई तारीख का सप्ताह का दिन ढूंढना है। इसे हल करने के लिए हम जेलर के एल्गोरिदम का उपयोग करेंगे। जेलर के एल्गोरिदम का उपयोग करके सप्ताह का दिन ढूंढने का सूत्र यहां है

𝑤=$$\lgroup d+\lfloor \frac{13(m+1)}{5} \rfloor+y+\lfloor\frac{y}{4} \rfloor+\lfloor\frac{c}{4} \rfloor+5c \rgroup mod 7$$

सूत्र में कुछ चर हैं; वे हैं -

d - तारीख का दिन।

m - यह महीना कोड है। मार्च से दिसंबर के लिए, यह 3 से 12 है, जनवरी के लिए यह 13 है, और फरवरी के लिए यह 14 है। जब हम जनवरी या फरवरी पर विचार करते हैं, तो दिए गए वर्ष को 1 से घटा दिया जाएगा।

y - वर्ष के अंतिम दो अंक

c - वर्ष के पहले दो अंक

w - सप्ताह का दिन। जब यह 0 होता है, तो यह शनिवार है, जब यह 6 होता है, तो इसका मतलब शुक्रवार है

उदाहरण के लिए, यदि हम 4 जनवरी 1997 का सप्ताह का दिन प्राप्त करना चाहते हैं, तो आउटपुट "शनिवार" होगा

एल्गोरिदम इस प्रकार है -

एल्गोरिदम

zellersAlgorithm(day, month, year)

इनपुट - दिन की तारीख।

आउटपुट - यह कौन सा दिन था, (रविवार से शनिवार)।

शुरू 
    यदि month > 2, तो 
        mon := month 
    अन्यथा 
        mon := 12 + month 
        वर्ष को 1 से घटाएं 
    y := वर्ष के अंतिम दो अंक 
    c := वर्ष के पहले दो अंक 
    w := day + floor((13*(mon+1))/5) + y + floor(y/4) + floor(c/4) + 5*c 
    w := w mod 7 
    return weekday[w] //weekday शनिवार से शुक्रवार तक के दिनों को रखेगा 
अंत

उदाहरण (C++)

#include <iostream> 
#include <cmath> 
using namespace std; 

string weekday[7] = {"Saturday","Sunday","Monday","Tuesday", "Wednesday","Thursday","Friday"}; 

string zellersAlgorithm(int day, int month, int year){ 
    int mon; 
    if(month > 2) 
        mon = month; //मार्च से दिसंबर के लिए महीना कोड महीने के समान है 
    else{ 
        mon = (12+month); //जनवरी और फरवरी के लिए, महीना कोड 13 और 14 होगा 
        year--; //जनवरी और फरवरी के लिए वर्ष घटाएं 
    } 
    int y = year % 100; //अंतिम दो अंक 
    int c = year / 100; //पहले दो अंक 
    int w = (day + floor((13*(mon+1))/5) + y + floor(y/4) + floor(c/4) + (5*c)); 
    w = w % 7; 
    return weekday[w]; 
} 

int main(){ 
    int day, month, year; 
    cout << "Enter Day: "; cin >> day; 
    cout << "Enter Month: "; cin >> month; 
    cout << "Enter Year: "; cin >> year; 
    cout << "It was: " << zellersAlgorithm(day, month, year); 
}

इनपुट

(4, 1, 1997)

आउटपुट

Enter Day: 4 Enter Month: 1 Enter Year: 1997 It was: Saturday

  1. PHP MySQL में टाइमस्टैम्प से दिन, महीना, वर्ष कैसे निकालें? PHP MySQL में टाइमस्टैम्प से दिन, महीना, वर्ष कैसे निकालें?

    PHP में date_parse() फ़ंक्शन का उपयोग PHP में टाइमस्टैम्प से दिन, महीना, वर्ष और अन्य घटक निकालने के लिए date_parse() फ़ंक्शन का उपयोग करें: print_r(date_parse(anyTimeStampValue)); PHP कोड उदाहरण $yourTimeStampValue = 2019-02-04 12:56:50; print_r(date_parse($yourTimeStampValue)); आउटपुट ) date_p

  1. C++ में The Maze II C++ में The Maze II

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

  1. C++ में भूलभुलैया समस्या का समाधान C++ में भूलभुलैया समस्या का समाधान

    समस्या विवरण मान लीजिए एक गेंद एक भूलभुलैया में है जिसमें खाली स्थान और दीवारें हैं। गेंद किसी भी दिशा में (ऊपर, नीचे, बाएं, दाएं) लुढ़ककर खाली रास्तों से गुजर सकती है, लेकिन यह तब तक नहीं रुकेगी जब तक यह दीवार से न टकरा जाए। जब गेंद रुकती है, तो यह अगली दिशा चुन सकती है। हमें गेंद की प्रारंभिक स्