Skip to Content
RozdziałyStruktury danych i modułyWektor 2D

Wektory 2D

Projekt

  1. Utwórz nowy projekt o nazwie rust-vec2d.
  2. Utwórz moduł o nazwie vec2d w osobnym pliku.

Struktura wektora i podstawowe metody:

  1. Zimplementuj strukturę Vec2D reprezentującą dwuwymiarowy wektor v=[x,y],x,yRv = [x, y], x, y \in \mathbb{R}.
  2. Zdefiniuj metodę pozwalającą na czytelne wypisanie wektora na konsolę.
  3. Dodaj do wektora metodę fabryczną dla wektora jednostkowego.
  4. Napisz metodą sprawdzającą czy dwa wektory są równe.

Operacje na wektorach (operatory matematyczne):

  1. Napisz podstawowe operatory dla działań na wektorach: dodawanie, odejmowanie, mnożenie wektora przez liczbę oraz iloczyn skalarny. Dla podstawowych operatorów wykorzystaj predefiniowane cechy (std::ops::Add, std::ops::Sub). Możesz wykorzystać następujący fragment kodu:
    use std::ops::{Add, Sub}; impl Add for Vec2D { type Output = Self; // Output describes the resulting type after applying the + operator. // Self describes the current type, here it means Vec2D fn add(self, other: Vec2D) -> Self { todo!(); } } impl Sub for Vec2D { type Output = Self; fn sub(self, other: Vec2D) -> Self { todo!(); } }
  2. Napisz kod prezentujacy działania na wektorach.
  3. Napisz testy jednostkowe sprawdzające poprawność działania operacji na wektorach.

Więcej na temat cech operatorów znajdziesz w:

Last updated on