You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.2 KiB

## hashing
### Instructions
3 years ago
Given a list of integers (Vec<i32>) write three **functions**.
3 years ago
Write a **function** called `mean` that calculates the `mean` (the average value) of all the values in the list.
Write a **function** called `median` that calculates the `median` (for a sorted list, it is the value in the middle). If there is an even amount of numbers in the list, the middle pair must be determined, added together, and divided by two to find the median value.
3 years ago
Write a **function** called `mode` that calculates the mode (the value
that appears more often).
### Notions
- [hash maps](https://doc.rust-lang.org/book/ch08-03-hash-maps.html)
### Expected Functions
```rust
3 years ago
pub fn mean(list: &Vec<i32>) -> f64 {
}
3 years ago
pub fn median(list: &Vec<i32>) -> i32 {
}
3 years ago
pub fn mode(list: &Vec<i32>) -> i32 {
}
```
### Usage
Here is a program to test your function.
```rust
3 years ago
use hashing::*;
fn main() {
println!("Hello, world!");
let v = vec![4, 7, 5, 2, 5, 1, 3];
println!("mean {}", hashing::mean(&v));
println!("median {}", hashing::median(&v));
println!("mode {}", hashing::mode(&v));
}
```
3 years ago
And its output;
```console
$ cargo run
mean 3.857142857142857
median 4
mode 5
$
```