- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Print an N x M matrix such that each row and column has all the vowels in it in C++
In this problem, we have to create a 2D matrix of size n X m. And in this matrix, we have to place only vowels in such a way that each row and column has all vowels in it.
All vowels mean all a, e, i, o, u are present in each row and each column of the matrix. This makes the minimum number of rows and columns required is 5 i.e. the smallest matrix is of the size 5X5.
Let’s take an example to understand the topic better
Example 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
Explanation − In sequence, the vowels a e i o u are arranged in every row and column. The first row with be aeiou, the next will start with e being eioua and next will be iouae.
Example 2 −
Input : N = 3 M = 4 Output : Matrix cannot be created.
Explanation − minimum value for N and M is 5.
To solve this problem, we first condition that the minimum number of elements in 5 i.e., if value less than 5 is provided in the input “matrix, cannot be created” is printed. Otherwise, we will print the sequence ‘ aeiou ’ in a repeated form. With an array, the sequence to be printed is changed by rotating it one step left making in ‘ eioua ’, then ‘ iouae ’.
Example
#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; }
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