// exru3.ru declare and use vector and matrix fn main() { println!("exru3.ru running"); let mut xs = vec![0, 1, 2]; println!("Initial xs= {:?}", xs); // Insert new element at the end of the vector println!("Push 3 onto xs"); xs.push(3); println!("longer xs= {:?}", xs); println!("xs length= {}", xs.len()); println!("xs[2]= {}", xs[2]); println!("Pop last element of xs= {:?}", xs.pop()); println!("xs length= {}", xs.len()); let n = 3; let mut _xt = vec![0.0_f64; n]; println!("Initial xt= {:?}", _xt); println!("xt length= {}", _xt.len()); _xt[1] = 1.1; _xt[2] = 2.2; println!("updated xt= {:?}", _xt); let mut _a = vec![vec![0.0_f64; n]; n]; println!("initial a= {:?}", _a); _a[0][0] = 1.0; _a[1][1] = 1.0; _a[2][2] = 1.0; println!("updated a= {:?}", _a); let mut _b = vec![vec![0.0_f64; n]; n]; _b[0][0] = 2.0; _b[1][1] = 2.0; _b[2][2] = 2.0; println!("updated b= {:?}", _b); let mut _c = vec![vec![0.0_f64; n]; n]; for j in 0..n { // matrix multiply for i in 0..n { for k in 0..n { _c[i][j] += _a[i][k] * _b[k][j]; } } } println!("c=a*b= {:?}", _c); println!("exru3.ru finished"); }