Menu
CoddyTech

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ę, jak 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();

Zauważ, że używamy mut, ponieważ prawdopodobnie będziemy później 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 działania programu, na przykład na podstawie danych wprowadzonych przez 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ę reprezentującą liczbę elementów, które powinna zawierać wektor. Odczytaj dane wejściowe, przekonwertuj je na liczbę całkowitą i utwórz wektor z taką liczbą elementów, gdzie każdy element ma wartość 10.

Wymagania:

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

Dane wejściowe: Jedna liczba całkowita reprezentująca liczbę elementów

Wynik: Wypisz każdy element wektora 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 z n elementami, 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