w3resource

Rust Program: Find maximum and minimum in array

Rust Functions and Control Flow: Exercise-3 with Solution

Write a Rust program that implements two functions to find the maximum and minimum numbers in an array.

Sample Solution:

Rust Code:

fn find_max(numbers: &[i32]) -> Option<i32> {
    // Return None if the array is empty
    if numbers.is_empty() {
        return None;
    }

    // Initialize max_num with the first element of the array
    let mut max_num = numbers[0];

    // Iterate over the array to find the maximum number
    for &num in numbers {
        if num > max_num {
            max_num = num;
        }
    }

    Some(max_num)
}

fn find_min(numbers: &[i32]) -> Option<i32> {
    // Return None if the array is empty
    if numbers.is_empty() {
        return None;
    }

    // Initialize min_num with the first element of the array
    let mut min_num = numbers[0];

    // Iterate over the array to find the minimum number
    for &num in numbers {
        if num < min_num {
            min_num = num;
        }
    }

    Some(min_num)
}

fn main() {
    let numbers = [3, 7, 2, 8, 1, 5]; // Define an array of numbers

    // Call the find_max function to find the maximum number
    match find_max(&numbers) {
        Some(max) => println!("Maximum number: {}", max),
        None => println!("The array is empty!"),
    }

    // Call the find_min function to find the minimum number
    match find_min(&numbers) {
        Some(min) => println!("Minimum number: {}", min),
        None => println!("The array is empty!"),
    }
}

Output:

Maximum number: 8
Minimum number: 1

Explanation:

Here's a brief explanation of the above Rust code:

  • 'find_max' function: This function takes a slice of 'i32' numbers as input and returns an 'Option<i32>' representing the maximum number found in the array. If the array is empty, it returns 'None'. Otherwise, it iterates over the array to find the maximum number.
  • 'find_min' function: This function takes a slice of 'i32' numbers as input and returns an 'Option<i32>' representing the minimum number found in the array. If the array is empty, it returns 'None'. Otherwise, it iterates over the array to find the minimum number.
  • 'main' function: In the 'main' function, we define an array of numbers. We then call the 'find_max' function to find the maximum number and the 'find_min' function to find the minimum number in the array. Finally, we print the results.

Rust Code Editor:

Previous: Rust Function: Check Prime number.
Next: Rust Function: Calculate factorial of a number.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/rust/basic/rust-functions-and-control-flow-exercise-3.php