6
これらのループを書くにはどうしたらよいですか?コードはベクトルをとり、隣接する3つの要素に積を掛けます。したがって、外側のループは、3つのグループを形成することができるすべての要素を超え、内側のループは乗算を行います。ベクトルの隣接要素を反復処理するときにループを回避する方法
外部ループ(要素0
からlast - 3
まで)の不完全な反復では、難しいと思います。さらに、内部ループは部分範囲を使用しなければならない。
ループの作成を避ける方法はありますか?
let v = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let mut products = Vec::new();
for seq in 0..v.len() - 3 {
let mut product = 1;
for offset in 0..3 {
product *= v[seq + offset];
}
products.push(product);
}
を今、すべての計算 'product'sは本当に捨てていないと何もされています起こるこれらの製品をベクターに集めたいのですか、それとも何をしたいのですか? –
あなたは正しいです。私の元のコードを上記の例にカットすると、それは失われました。私は編集をしました。 – dani