very late init
This commit is contained in:
51
src/bin/1-2-vector-math.rs
Normal file
51
src/bin/1-2-vector-math.rs
Normal file
@@ -0,0 +1,51 @@
|
||||
// this is just me making a add vec func where
|
||||
// it retains the order for add or subtracting
|
||||
// and vec1 and vec2 can be different sizes
|
||||
fn add_vec(vec1: &Vec<i32>, vec2: &Vec<i32>) -> Vec<i32> {
|
||||
//return vec![vec1[0]+vec2[0],vec1[1]+vec2[1]];
|
||||
let mut len=vec1.len();
|
||||
let mut sumvec: Vec<i32> = vec1.to_vec();
|
||||
let addvec: Vec<i32> = vec2.to_vec();
|
||||
if vec1.len() < vec2.len() {
|
||||
len = vec2.len();
|
||||
}
|
||||
|
||||
for i in 0..len {
|
||||
if let Some(_) = vec2.get(i) {
|
||||
if let Some(_) = vec1.get(i) {
|
||||
sumvec[i] = sumvec[i] + addvec[i]
|
||||
} else {
|
||||
sumvec.push(vec2[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return sumvec;
|
||||
}
|
||||
|
||||
fn sub_vec(vec1: &Vec<i32>, vec2: &Vec<i32>) -> Vec<i32> {
|
||||
let mut len=vec1.len();
|
||||
let mut sumvec: Vec<i32> = vec1.to_vec();
|
||||
let addvec: Vec<i32> = vec2.to_vec();
|
||||
if vec1.len() < vec2.len() {
|
||||
len = vec2.len();
|
||||
}
|
||||
|
||||
for i in 0..len {
|
||||
if let Some(_) = vec2.get(i) {
|
||||
if let Some(_) = vec1.get(i) {
|
||||
sumvec[i] = sumvec[i] - addvec[i]
|
||||
} else {
|
||||
sumvec.push(vec2[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return sumvec;
|
||||
}
|
||||
|
||||
fn main() {
|
||||
println!("{:?}", add_vec(&vec![2,4, -1, 4, 10], &vec![1,-1,-4]));
|
||||
println!("{:?}", add_vec(&vec![1,1], &vec![1,-1,-4,3]));
|
||||
println!("{:?}", sub_vec(&vec![2, -1], &vec![1,1,-4]));
|
||||
}
|
||||
Reference in New Issue
Block a user