/*
Function: countOddEven
Purpose: Counts how many odd and even numbers exist in the matrix.
Parameters:
- matrix: the 2D sequence
- rows: number of rows in the matrix (computed inside the function)
- cols: number of columns in the matrix (computed inside the function)
- odd: variable to store odd count
- even: variable to store even count
*/
def countOddEven(matrix: Seq[Seq[Int]]): (Int, Int) = {
// Automatically compute matrix dimensions inside the function
val rows: Int = matrix.length
val cols: Int = matrix.head.length
var odd: Int = 0
var even: Int = 0
for (i <- 0 until rows) {
for (j <- 0 until cols) {
// Check if the number is even or odd
if (matrix(i)(j) % 2 == 0)
even += 1
else
odd += 1
}
}
(odd, even)
}
def main(args: Array[String]): Unit = {
val matrix: Seq[Seq[Int]] = Seq(
Seq(1, 0, 2, 5),
Seq(3, 5, 6, 9),
Seq(7, 4, 1, 8)
)
// Call the function (rows and cols are now computed inside)
val (oddCount, evenCount) = countOddEven(matrix)
// Display the result
println(s"The frequency of odd numbers = $oddCount")
println(s"The frequency of even numbers = $evenCount")
}
/*
run:
The frequency of odd numbers = 7
The frequency of even numbers = 5
*/