ในปัญหานี้ เราต้องสร้างเมทริกซ์ 2 มิติขนาด n X m และในเมทริกซ์นี้ เราต้องใส่เฉพาะสระในลักษณะที่แต่ละแถวและคอลัมน์มีสระทั้งหมดอยู่ในนั้น
สระทั้งหมดหมายถึง 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 ถูกจัดเรียงในทุกแถวและทุกคอลัมน์ แถวแรกที่มี 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