52 lines
1.4 KiB
Rust
52 lines
1.4 KiB
Rust
// 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]));
|
|
}
|