কম্পিউটার

ঘূর্ণন এবং অনুবাদের পরে দুটি চিত্র মেলে কিনা তা পরীক্ষা করতে C++ প্রোগ্রাম


ধরুন, প্রথম এবং দ্বিতীয় দুটি n*n পিক্সেল বর্গাকার ছবি রয়েছে। পিক্সেল কালো বা সাদা হতে পারে। চিত্রগুলি একটি ম্যাট্রিক্স উপস্থাপনায় দেওয়া হয় যেখানে একটি পিক্সেল কালো হলে এটি 'x' হিসাবে উপস্থাপন করা হয় এবং যদি এটি সাদা হয় তবে এটি '.' হিসাবে উপস্থাপন করা হয়। আমাদের 90° ঘূর্ণন এবং অনুবাদের পরে প্রথম চিত্রের সাথে দ্বিতীয় চিত্রের মিল আছে কিনা তা পরীক্ষা করতে হবে। যদি এটা আমরা সত্য ফেরত, অন্যথায়, আমরা মিথ্যা ফিরে.

সুতরাং, যদি ইনপুটটি n =4 এর মত হয়, প্রথম ={"..x.", "x.x.", "x.xx", "xx.."}, দ্বিতীয় ={"..xx", "x। xx", ".x.x", "..x."}, তাহলে আউটপুট False হবে।

এটি সমাধান করার জন্য, আমরা এই পদক্ষেপগুলি অনুসরণ করব—

 একটি ফাংশন find() সংজ্ঞায়িত করুন, এটি জোড়া x এর একটি অ্যারে নেবে, জোড়া y এর একটি অ্যারে, d1 :=y[0] এর প্রথম মান - x[0] d2 এর প্রথম মান :=y এর দ্বিতীয় মান [1] - ইনিশিয়ালাইজ i এর জন্য x[1] এর দ্বিতীয় মান :=1, যখন i উদাহরণ 

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include  namespace ব্যবহার করে std;bool find(vector> x, vector> y){ int d1 =y[0]। প্রথম - x[0].প্রথম; int d2 =y[1].সেকেন্ড - x[1].সেকেন্ড; for(int i =1; i > a, vector> b){ for(int i =0; i  first, vector second){ vector> a, b; for(int i =0; i  প্রথম ={"..x", "x.x", "x.xx", "xx.."}, দ্বিতীয় ={"..xx", "x.xx", ".x.x" , "..এক্স."}; cout< 

ইনপুট

4, {..x.", "x.x", "x.xx", "xx.."}, {..xx", "x.xx", ".x.x", "। .x।"

আউটপুট

0

  1. C++ এ একটি অ্যারের বিটনোসিটি পরীক্ষা করার জন্য প্রোগ্রাম

  2. C++ এ ইনভোলুটরি ম্যাট্রিক্স চেক করার প্রোগ্রাম

  3. C++ এ তির্যক ম্যাট্রিক্স এবং স্কেলার ম্যাট্রিক্স পরীক্ষা করার জন্য প্রোগ্রাম

  4. দুই নম্বর অদলবদল করতে C++ প্রোগ্রাম