কম্পিউটার টিউটোরিয়াল

C প্রোগ্রাম: একটি তারিখ বৈধ কিনা তা যাচাই করুন

সংক্ষিপ্ত বিবরণ

এই প্রোগ্রামটি একটি প্রদত্ত তারিখ (দিন, মাস, বছর) যাচাই করে যে সেটি ক্যালেন্ডারের নিয়মাবলী অনুযায়ী বৈধ কিনা।

বৈধতার শর্তাবলী

  • বছর: ১৮০০ থেকে ৯৯৯৯ পর্যন্ত
  • মাস: ১ থেকে ১২ পর্যন্ত
  • দিন: ১ থেকে ৩১ পর্যন্ত (মাস অনুযায়ী পরিবর্তনশীল)
  • এপ্রিল, জুন, সেপ্টেম্বর, নভেম্বর — সর্বোচ্চ ৩০ দিন
  • ফেব্রুয়ারি — লিপ ইয়ার হলে ২৯ দিন, অন্যথায় ২৮ দিন

অ্যালগরিদম

  1. বছর ১৮০০–৯৯৯৯ এর মধ্যে কিনা যাচাই করুন
  2. মাস ১–১২ এর মধ্যে কিনা যাচাই করুন
  3. দিন ১–৩১ এর মধ্যে কিনা যাচাই করুন
  4. ফেব্রুয়ারি হলে লিপ ইয়ার যাচাই করুন
  5. ৩০ দিনवाले মাসগুলোতে দিন ৩০ এর বেশি কিনা যাচাই করুন
  6. সব শর্ত পূরণ হলে বৈধ, অন্যথায় অবৈধ

উদাহরণ

ইনপুট: y=2002, d=29, m=11 → আউটপুট: Date is valid
ইনপুট: y=2001, d=29, m=2  → আউটপুট: Date is not valid

সি কোড

#include <stdio.h>
#define MAX_YR 9999
#define MIN_YR 1800

int isLeap(int y) {
    return (y % 4 == 0 && y % 100 != 0) || (y % 400 == 0);
}

int isValidDate(int d, int m, int y) {
    if (y < MIN_YR || y > MAX_YR) return 0;
    if (m < 1 || m > 12) return 0;
    if (d < 1 || d > 31) return 0;

    if (m == 2) {
        if (isLeap(y)) return d <= 29;
        return d <= 28;
    }
    if (m == 4 || m == 6 || m == 9 || m == 11)
        return d <= 30;
    return 1;
}

int main() {
    int y = 2002, d = 29, m = 11;
    if (isValidDate(d, m, y))
        printf("Date is valid\n");
    else
        printf("Date is not valid\n");
    return 0;
}

আউটপুট

Date is valid
  1. জাভাস্ক্রিপ্টে বৈধ ডেটা ফরম্যাট চেক করা

  2. C প্রোগ্রাম: রিকার্শন ব্যবহার করে অ্যারে প্যালিনড্রোম কিনা চেক করা

  3. C প্রোগ্রাম: দুটি স্ট্রিং একই কিনা চেক করা

  4. C প্রোগ্রাম: অ্যারে প্যালিনড্রোম কিনা চেক করা