------------------------------------------------------------------ ------------------------------------------------------------------- #include int main() { int ara[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; int i, j, temp; for(i = 0, j = 9; i < 10; i++, j--) { temp = ara[j]; ara[j] = ara[i]; ara[i] = temp; } for(i = 0; i < 10; i++) { printf("%d\n", ara[i]); } return 0; }--------------------------------------------------------------------------------------------------- এই প্রোগ্রামটিতে একটি ছোট্ট বাগ রয়েছে। কেউ কি বলতে পারবেন প্রোগ্রামটির কোথায় বাগ রয়েছে????
শেয়ার করুন বন্ধুর সাথে
Call

আপনি প্রোগ্রামটি কেন বা কি করার জন্য লিখেছেন তা ক্লিয়ার করলে ভালো হত।

আপনি সম্ভবত Array টিকে উলটা ভাবে সাজানোর জন্য প্রোগ্রামটি লিখেছেন। মানে {১০০, ৯০, ৮০....,২০,১০} এভাবে সাজাতে চেয়েছেন।

এক্ষেত্রে প্রথম লুপটি ১০ বার চালানোর কারনে Array টি আবার আগের মত হয়ে যাচ্ছে। আপনি যদি  লুপটি ৫ বার চালান, তাহলে Array টি উলটা ভাবে সাজানো হয়ে যাবে। 

অর্থাৎ  for(i = 0, j = 9; i < 10; i++, j--) এর পরিবর্তে 

for(i = 0, j = 9; i < 5; i++, j--) লিখলেই প্রোগ্রামটি Array টিকে উলটা ভাবে সাজিয়ে দিবে।

মনে করুণ,  আপনার Array টিতে দুইটি সংখ্যা আছে, {১০, ২০}

তাহলে আপনি যদি একবার সংখ্যা দুটিকে swap করেন, তাহলেই Array টিতে {২০, ১০} হয়ে যাবে। যদি ৪ টি সংখ্যা থাকে তাহলে দুইবার swap করতে হবে। 

লক্ষ করুণ, আপনার লিখিত প্রোগ্রামটিতে প্রথম ৫ বার swap এর ফলে Array টি {১০০, ৯০, ৮০....,২০,১০} হয়ে যাচ্ছে, আবার পরের ৫ বার swap এর ফলে পূনরায় আগের মত হয়ে যাচ্ছে।

আশা করি বুঝতে পেরেছেন।

ভিডিও কলে ডাক্তারের পরামর্শ পেতে Play Store থেকে ডাউনলোড করুন Bissoy অ্যাপ