Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รหัส C++ สำหรับนับคอลัมน์ปฏิทินพร้อมเดือนและวันแรก


สมมติว่าเรามีตัวเลขสองตัว m และ d พิจารณาปฏิทินที่แสดงวันในสัปดาห์เป็นคอลัมน์และแถวเป็นวันปัจจุบัน เราต้องการทราบจำนวนคอลัมน์ในปฏิทินที่ควรระบุเดือน m และวันทำงานของวันแรกของเดือน d (สมมติว่าปีไม่ใช่ปีอธิกสุรทิน)

ดังนั้น ถ้าอินพุตเป็น m =11; d =6 จากนั้นผลลัพธ์จะเป็น 5 เนื่องจากวันที่ 1 พฤศจิกายนเป็นวันเสาร์ และ 5 คอลัมน์ก็เพียงพอแล้ว

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

Define an array a of size: 13 := { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
return (a[m] + d + 5) / 7

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include <bits/stdc++.h>
using namespace std;
int solve(int m, int d){
   int a[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
   return (a[m] + d + 5) / 7;
}
int main(){
   int m = 11;
   int d = 6;
   cout << solve(m, d) << endl;
}

อินพุต

11, 6

ผลลัพธ์

5