Menu
Coddy logo textTech

Tworzenie wektora

Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 8 z 66.

Skoro już wiesz, czym są wektory, nauczmy się je tworzyć. Rust oferuje dwa podstawowe sposoby tworzenia wektora, z których każdy sprawdza się w innych sytuacjach.

Pierwsza metoda używa Vec::new(), aby utworzyć pusty wektor, do którego możesz później dodawać elementy:

let mut numbers = Vec::new();

Zwróć uwagę, że używamy mut, ponieważ prawdopodobnie później będziemy chcieć dodawać elementy do tego pustego wektora. Rust nie zawsze potrafi określić typ pustego wektora, więc może być konieczne jawne określenie go:

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

Druga metoda wykorzystuje makro vec![] do utworzenia wektora z wartościami początkowymi:

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

Makro vec![] jest wygodniejsze, gdy znasz wartości początkowe. Rust może automatycznie określić typ na podstawie podanych wartości, więc adnotacja typu nie jest potrzebna. Ten wektor zawiera pięć liczb całkowitych i jest od razu gotowy do użycia.

Makro vec![] obsługuje również składnię powtarzania, która pozwala utworzyć wektor wypełniony tą samą wartością. Użyj vec![value; n], aby utworzyć wektor z n elementami, z których każdy ma wartość value:

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

Jest to szczególnie przydatne, gdy chcesz utworzyć wektor o określonym rozmiarze ustalanym w czasie wykonywania, na przykład na podstawie danych wejściowych użytkownika:

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

Oba podejścia tworzą ten sam typ wektora — wybór zależy od tego, czy masz wartości początkowe, czy planujesz stopniowo budować wektor.

challenge icon

Wyzwanie

Łatwy

Otrzymasz liczbę jako dane wejściowe, która określa, ile elementów powinna zawierać tablica. Odczytaj dane wejściowe, przekonwertuj je na liczbę całkowitą i utwórz tablicę zawierającą tyle elementów, z których każdy ma wartość 10.

Wymagania:

  • Odczytaj dane wejściowe i przekonwertuj je na liczbę całkowitą
  • Utwórz tablicę za pomocą makra vec![]
  • Tablica powinna zawierać określoną liczbę elementów
  • Każdy element powinien mieć wartość 10
  • Wypisz każdy element w osobnym wierszu

Dane wejściowe: Pojedyncza liczba całkowita określająca liczbę elementów

Wynik: Wypisz każdy element tablicy w osobnym wierszu

Spróbuj swoich sił

use std::io;

fn main() {
    // Wczytaj dane wejściowe
    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: Napisz swój kod poniżej
    // Utwórz wektor zawierający n elementów, z których każdy ma wartość 10
    
    
    // Wypisz każdy element w osobnym wierszu
    
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Rust online