Menu
CoddyTech

Создание вектора

Часть раздела Логика и управление потоком путешествия по Rust на Coddy. Урок 8 из 66.

Теперь, когда ты понимаешь, что такое векторы, давай узнаем, как их создавать. Rust предоставляет два основных способа создания вектора, каждый из которых подходит для разных ситуаций.

Первый метод использует Vec::new(), чтобы создать пустой вектор, в который ты сможешь позже добавлять элементы:

let mut numbers = Vec::new();

Обрати внимание, что мы используем mut, потому что, скорее всего, позже захотим добавлять элементы в этот пустой вектор. Rust не всегда может определить тип пустого вектора, поэтому может потребоваться указать его явно:

let mut numbers: Vec<i32> = Vec::new();

Второй способ использует макрос vec![], чтобы создать вектор с начальными значениями:

let numbers = vec![1, 2, 3, 4, 5];

Макрос vec![] удобнее, когда известны начальные значения. Rust может автоматически определить тип по указанным значениям, поэтому аннотация типа не нужна. Этот вектор содержит пять целых чисел и сразу готов к использованию.

Макрос vec![] также поддерживает синтаксис повторения для создания вектора, заполненного одинаковыми значениями. Используй vec![value; n], чтобы создать вектор из n элементов, каждый из которых равен value:

let zeros = vec![0; 5];   // [0, 0, 0, 0, 0]
let tens = vec![10; 3];   // [10, 10, 10]

Это особенно полезно, когда нужно создать вектор заданного размера, определяемого во время выполнения, например на основе пользовательского ввода:

let n = 4;
let data = vec![10; n];   // [10, 10, 10, 10]

Оба подхода создают вектор одного и того же типа — выбор зависит от того, есть ли у тебя начальные значения или ты планируешь постепенно формировать вектор.

challenge icon

Задание

Легко

На вход будет подано число, обозначающее количество элементов вектора. Считайте входные данные, преобразуйте их в целое число и создайте вектор с таким количеством элементов, где каждый элемент равен числу 10.

Требования:

  • Считайте входные данные и преобразуйте их в целое число
  • Создайте вектор с помощью макроса vec![]
  • Вектор должен содержать указанное количество элементов
  • Значение каждого элемента должно быть равно 10
  • Выведите каждый элемент на отдельной строке

Входные данные: Одно целое число, обозначающее количество элементов

Выходные данные: Выведите каждый элемент вектора на отдельной строке

Попробуйте сами

use std::io;

fn main() {
    // Считайте входные данные
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let n: usize = input.trim().parse().expect("Invalid input");
    
    // TODO: Напишите свой код ниже
    // Создайте вектор из n элементов, каждый из которых имеет значение 10
    
    
    // Выведите каждый элемент на отдельной строке
    
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Rust