এই সমস্যায়, আমাদের n X m আকারের একটি 2D ম্যাট্রিক্স তৈরি করতে হবে। এবং এই ম্যাট্রিক্সে, আমাদের শুধুমাত্র স্বরবর্ণগুলিকে এমনভাবে রাখতে হবে যাতে প্রতিটি সারি এবং কলামে সমস্ত স্বর থাকে৷
সমস্ত স্বরবর্ণ মানে সমস্ত a, e, i, o, u প্রতিটি সারিতে এবং ম্যাট্রিক্সের প্রতিটি কলামে উপস্থিত। এর ফলে সারি এবং কলামের ন্যূনতম সংখ্যা প্রয়োজন 5 অর্থাৎ ক্ষুদ্রতম ম্যাট্রিক্স 5X5 আকারের।
বিষয়টি আরও ভালোভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক
উদাহরণ 1 −
Input : N = 5 and M = 5. Output : a e i o u e i o u a i o u a e o u a e i u a e i o
ব্যাখ্যা − ক্রমানুসারে, a e i o u স্বরবর্ণগুলি প্রতিটি সারি এবং কলামে সাজানো হয়। be aeiou সহ প্রথম সারি , পরবর্তীটি শুরু হবে e হচ্ছে eioua দিয়ে এবং পরবর্তীটি হবে iouae .
উদাহরণ 2 −
Input : N = 3 M = 4 Output : Matrix cannot be created.
ব্যাখ্যা − N এবং M-এর সর্বনিম্ন মান হল 5৷
৷এই সমস্যা সমাধানের জন্য, আমরা প্রথমে শর্ত দিই যে ন্যূনতম সংখ্যক উপাদানের সংখ্যা 5 অর্থাৎ, যদি ইনপুট “ম্যাট্রিক্স”-এ 5-এর কম মান দেওয়া হয়,তৈরি করা যাবে না ” ছাপা হয়। অন্যথায়, আমরা 'aeiou' ক্রমটি পুনরাবৃত্তি আকারে প্রিন্ট করব। একটি অ্যারের সাহায্যে, প্রিন্ট করার জন্য ক্রম পরিবর্তন করা হয় এটিকে এক ধাপ বামে ঘোরানোর মাধ্যমে 'eioua', তারপর 'iouae'।
উদাহরণ
#include <iostream> using namespace std; void vowelMatrix(int n, int m) { if (n<5||m<5) { cout<<"Marix cannot be created!"; return; } string s = "aeiou"; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout<<s[(j+i) % 5]<<" "; } cout << endl; } } int main(){ int n = 5, m = 5; vowelMatrix(n, m); return 0; }
আউটপুট
a e i o u e i o u a i o u a e o u a e i u a e i o