মডিউল ১৩-৫+১৩-৬ঃ Sum of Two Values Equal X

কোডঃ

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    int x;
    scanf("%d",&x);
    int flag=0;
    for(int i=0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(a[i]+a[j]==x)
            {
                flag=1;
            }
        }
    }
    if(flag==0)
    {
        printf("NO\n");
    }
    else 
    {
        printf("YES\n");
    }
    return 0;
}

এক্সপ্লেনাশনঃ

এই প্রোগ্রামটির লজিক হলো একটি অ্যারের এর মধ্যে দুটি উপাদান নির্বাচন করে, যাদের যোগফল যদি একটি নির্দিষ্ট মান X এর সমান হয় তবে "YES" প্রিন্ট করা হবে, অন্যথায় "NO" প্রিন্ট করা হবে। প্রোগ্রামের বিবরণ নিচে দেওয়া হয়েছে:

  1. #include<stdio.h>: এই লাইনে stdio.h হেডার ফাইল ইমপোর্ট করা হয়েছে, যা ইনপুট এবং আউটপুট সংক্রান্ত ফাংশনগুলি সম্পর্কে তথ্য সরবরাহ করে।

  2. int main(): main() ফাংশন হল প্রোগ্রামের প্রধান ফাংশন, যা প্রোগ্রাম চালানোর সময় সবচেয়ে প্রথমে কল হয়।

  3. {: মেইন ফাংশনের ব্লক শুরু।

  4. int n;: এই লাইনে একটি পূর্ণসংখ্যা ভ্যারিয়েবল n ডিক্লেয়ার করা হয়েছে, যেটি অ্যারের উপাদানের সংখ্যা স্টোর করে।

  5. scanf("%d",&n);: এই লাইনে ব্যবহারকারীকে অ্যারের উপাদানের সংখ্যা ইনপুট করতে বলা হয়, এবং সেই সংখ্যাটি n ভ্যারিয়েবলে সংরক্ষিত হয়।

  6. int a[n];: এই লাইনে একটি অ্যারে a ডিক্লেয়ার করা হয়েছে, যার আকার নির্দিষ্ট করতে ব্যবহৃত হয়েছে এই সংখ্যার মান দ্বারা।

  7. for(int i=0;i<n;i++): এই লাইনে লুপ চালানো হয়, যেটি প্রতিটি উপাদানের মান ইনপুট নেয়।

  8. {: লুপের ব্লক শুরু।

  9. scanf("%d",&a[i]);: এই লাইনে অ্যারের প্রতিটি উপাদানের মান ইনপুট নেয়।

  10. }: লুপের ব্লক শেষ।

  11. int x;: এই লাইনে একটি পূর্ণসংখ্যা ভ্যারিয়েবল x ডিক্লেয়ার করা হয়েছে, যেটি ব্যবহারকারীর দ্বারা ইনপুট হওয়া মান X প্রদান করে।

  12. scanf("%d",&x);: এই লাইনে ব্যবহারকারীকে X এর মান ইনপুট করতে বলা হয়, এবং সেই মানটি x ভ্যারিয়েবলে সংরক্ষিত হয়।

  13. int flag = 0;: এই লাইনে ফ্ল্যাগ নামক একটি ভ্যারিয়েবল ডিক্লেয়ার করা হয়েছে, যার মান শুরুতে শূন্য হিসেবে নেওয়া হয়েছে।

  14. for(int i=0;i<n-1;i++): এই লাইনে একটি লুপ চালানো হয়, যা অ্যারের প্রতিটি উপাদানের জোড় বা সংখ্যার যোগফল খুঁজে।

  15. {: লুপের ব্লক শুরু।

  16. for(int j=i+1;j<n;j++): এই লাইনে একটি ইন্টারনাল লুপ চালানো হয়, যা প্রথম লুপের ইন্ডেক্স পরবর্তী ইন্ডেক্সের পরের থেকে শুরু হয়।

  17. {: ইন্টারনাল লুপের ব্লক শুরু।

  18. if(a[i] + a[j] == x): এই লাইনে চেক করা হয় যে প্রথম উপাদান এবং দ্বিতীয় উপাদানের যোগফল প্রদত্ত মান X এর সমান কিনা।

  19. {: কন্ডিশনাল ব্লকের শুরু।

  20. flag = 1;: যদি উপরের শর্ত সত্য হয়, তবে ফ্ল্যাগ ভ্যারিয়েবলটির মান পরিবর্তিত হবে এবং প্রোগ্রামের অনুমান করা হবে যে সংখ্যাটি পাওয়া যায়।

  21. }: কন্ডিশনাল ব্লক শেষ।

  22. }: ইন্টারনাল লুপের ব্লক শেষ।

  23. }: প্রধান লুপের ব্লক শেষ।

  24. if(flag == 0): এই লাইনে পরীক্ষা করা হয় যে ফ্ল্যাগ ভ্যারিয়েবলের মান শূন্য কিনা।

  25. {: কন্ডিশনাল ব্লক শুরু।

  26. printf("NO\n");: যদি উপরের শর্ত সত্য হয়, তবে "NO" প্রিন্ট করা হবে এবং প্রোগ্রাম পূর্বাবস্থায় ফিরে যাবে।

  27. }: কন্ডিশনাল ব্লক শেষ।

  28. else: এই লাইনে কোন কন্ডিশন সত্য না হলে অথবা উপরের শর্তগুলির যে কোন একটি সত্য হলে এই ব্লক সম্পাদিত হবে।

  29. {: ব্লকের শুরু।

  30. printf("YES\n");: যদি উপরের শর্ত মিথ্যা হয়, তবে "YES" প্রিন্ট করা হবে এবং প্রোগ্রাম পূর্বাবস্থায় ফিরে যাবে।

  31. }: ব্লকের শেষ।

  32. return 0;: প্রোগ্রামের সমাপ্তি।

  33. }: মেইন ফাংশনের বড় ব্লক শেষ।

Last updated