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.1 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.
3 years ago
Write a **function** called `median` that calculates the `median` (for a sorted list, it is the value in the middle).
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
student@ubuntu:~/hashing/test$ cargo run
mean 3.857142857142857
median 4
mode 5
student@ubuntu:~/hashing/test$
```