Menu
Coddy logo textTech

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

Часть раздела Logic & Flow путешествия по 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![] также поддерживает синтаксис повторения для создания вектора, заполненного одним и тем же значением определённое количество раз:

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

Синтаксис выглядит как vec![value; n], где value — это элемент для повторения, а n — количество повторений. Это полезно, когда вам нужен вектор известного размера, предварительно заполненный значением по умолчанию.

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

challenge icon

Задание

Легко

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

Требования:

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

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

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

Шпаргалка

Rust предоставляет два основных способа создания векторов:

Использование Vec::new() для создания пустого вектора:

let mut numbers = Vec::new();

Используйте mut, если вы планируете добавлять элементы позже. Вам может потребоваться явно указать тип:

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

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

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

Макрос vec![] автоматически определяет тип на основе предоставленных значений.

Использование макроса vec![] для создания вектора с повторяющимся значением:

let numbers = vec![0; 5]; // [0, 0, 0, 0, 0]

Синтаксис vec![value; n] создает вектор, содержащий value, повторенное n раз.

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

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Проверьте себя

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

Все уроки раздела Logic & Flow