// exru6.ru create and use functions and procedures fn factorial(i: u64) -> u64 { match i { 0 => 1, n => n * factorial(n-1) } } // end factorial fn sort(n:usize, mut _a:Vec) -> Vec { println!("sort n= {:?}",n); println!("a= {:?}",_a); let mut b = vec![0.0_f64; n]; for i in 0..n { b[i] = _a[i]; } for i in 0..(n-1) { let mut k = i; for j in (i+1)..n { if b[j] < b[k] { k = j; } if k != i { let t = b[i]; b[i] = b[k]; b[k] = t; } } } return b; } // end sort fn main() { println!("exru6.ru running"); let result = factorial(10); println!("factorial(10)= {}",result); let n = 10; let mut x = vec![0.0_f64; n]; let mut xs = vec![0.0_f64; n]; println!("sort vector of double, n= {}", n); for i in 0..n { x[i] = (n as f64)-(i as f64); print!("x[{}",i); println!("]= {:?}", x[i]); } xs = sort(n,x); println!("result vector"); for i in 0..n { print!("xs[{}",i); println!("]= {:?}", xs[i]); } println!(" "); println!("exru6.ru finished"); }