Вектор из ввода в Rust
Давайте теперь будем собирать вектор из чисел, которые вводит пользователь. Сколько их будет, заранее неизвестно.
Вектор начинают пустым. Тип элементов пишут
как Vec<i32>. Каждое прочитанное
число, кроме нуля, ставят в конец методом
push. Ноль в вектор не попадает:
use std::io;
fn main() {
let mut nums: Vec<i32> = Vec::new();
println!("enter number: ");
let mut line = String::new();
let _ = io::stdin().read_line(&mut line);
let mut num = match line.trim().parse::<i32>() {
Ok(n) => n,
Err(_) => 0,
};
while num != 0 {
nums.push(num);
println!("enter number: ");
let mut line = String::new();
let _ = io::stdin().read_line(&mut line);
num = match line.trim().parse::<i32>() {
Ok(n) => n,
Err(_) => 0,
};
}
println!("{}", nums.len());
}
Читайте целые в вектор, пока не введен ноль. Выведите, сколько чисел попало в вектор.
Читайте целые в вектор, пока не введен ноль. Выведите сумму элементов вектора.