 GFG App
Open App Browser
Continue

# C++ Program for Frequencies of even and odd numbers in a matrix

Given a matrix of order m*n then the task is to find the frequency of even and odd numbers in the matrix
Examples:

```Input : m = 3, n = 3
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
Output : Frequency of odd number =  5
Frequency of even number = 4

Input :   m = 3, n = 3
{ 10, 11, 12 },
{ 13, 14, 15 },
{ 16, 17, 18 }
Output : Frequency of odd number  =  4
Frequency of even number  = 5
```

## CPP

 `// C++ Program to Find the frequency` `// of even and odd numbers in a matrix` `#include ` `using` `namespace` `std;`   `#define MAX 100`   `// function for calculating frequency` `void` `freq(``int` `ar[][MAX], ``int` `m, ``int` `n)` `{` `    ``int` `even = 0, odd = 0;`   `    ``for` `(``int` `i = 0; i < m; ++i) {` `        ``for` `(``int` `j = 0; j < n; ++j) {` `            ``// modulo by 2 to check` `            ``// even and odd` `            ``if` `((ar[i][j] % 2) == 0)` `                ``++even;` `            ``else` `                ``++odd;` `        ``}` `    ``}`   `    ``// print Frequency of numbers` `    ``cout << ``"Frequency of odd number = "` `<< odd << endl;` `    ``cout << ``"Frequency of even number = "` `<< even << endl;` `}`   `// Driver code` `int` `main()` `{` `    ``int` `m = 3, n = 3;`   `    ``int` `array[][MAX]` `        ``= { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };`   `    ``freq(array, m, n);` `    ``return` `0;` `}`

Output

```Frequency of odd number = 5
Frequency of even number = 4```

Time Complexity: O(m*n), Where m is the number of rows and n is the number of columns in the given matrix.
Auxiliary Space: O(1)

Approach: Using Recursive method

## C++

 `// C++ Program to Find the frequency` `// of even and odd numbers in a matrix` `#include ` `using` `namespace` `std;`   `#define MAX 100` `int` `even = 0, odd = 0;`   `void` `freq(``int` `ar[][MAX], ``int` `m, ``int` `n, ``int` `i, ``int` `j) {` `    ``if` `(i == m) ``//base condition` `    ``{` `        ``cout << ``"Frequency of odd number = "` `<< odd << endl;` `        ``cout << ``"Frequency of even number = "` `<< even << endl;` `        ``return``;` `    ``}` `    ``if` `(j == n) ` `    ``{` `        ``freq(ar, m, n, i+1, 0); ``//recursive call` `        ``return``;` `    ``}` `    ``if` `(ar[i][j] & 1)` `        ``++odd;` `    ``else` `        ``++even;` `    ``freq(ar, m, n, i, j+1);  ``//recursive call` `}`   `int` `main() {` `    ``int` `m = 3, n = 3;` `    ``int` `array[][MAX] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };` `    ``freq(array, m, n, 0, 0);` `    ``return` `0;` `}`

Output

```Frequency of odd number = 5
Frequency of even number = 4```

Time Complexity: O(m*n), Where m is the number of rows and n is the number of columns in the given matrix.
Auxiliary Space: O(m*n) , Each call to the function freq takes O(1) space in the call stack and the number of calls is m*n.

Please refer complete article on Frequencies of even and odd numbers in a matrix for more details!

My Personal Notes arrow_drop_up