How to calculates the frequency of odd and even numbers in the given matrix with Scala

1 Answer

0 votes
/*
    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

*/

 



answered 3 days ago by avibootz

Related questions

...