Guest User

Untitled

a guest
Jul 20th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. fn mean(vec: &[i32]) -> f64 {
  2. let sm : i32 = vec.iter().fold(0, |sm, val| sm+val);
  3. return (f64::from(sm))/(vec.len() as f64);
  4. }
  5.  
  6. fn median(mut vec: Vec<i32>) -> f64 {
  7. vec.sort();
  8. let half = (vec.len())/2;
  9. let med = match vec.len() % 2 {
  10. 1 => f64::from(vec[half]),
  11. _ => mean(&vec[(half-1)..(half+1)])
  12. };
  13. return med;
  14. }
  15.  
  16. fn main(){
  17. let st: &str = "1 23 45 32 65 7 8 98 58 43 21";
  18. let vec: Vec<i32> = st
  19. .split_whitespace()
  20. .map(
  21. |e|
  22. match e.parse::<i32>() {
  23. Ok(i) => i,
  24. _ => 0
  25. }
  26. )
  27. .collect();
  28.  
  29. println!("Sorted vector{:?}", vec);
  30. let med = median(vec);
  31. println!("Median {:?}", med);
  32. }
Add Comment
Please, Sign In to add comment