Klasse "Vektor" mit Operatorüberladung

C# Medium classes

Aufgabe «Klasse "Vektor" mit Operatorüberladung»

Erstellen Sie eine Klasse Vector3D, die einen dreidimensionalen Vektor darstellt. Die Klasse soll die Felder X, Y, Z (ganze Zahlen) enthalten. Implementieren Sie einen Konstruktor, der drei Koordinaten entgegennimmt. Überladen Sie die Operatoren: + (Vektoraddition), - (Subtraktion), * (Skalarprodukt) und das unäre Minus. In Main lesen Sie zwei Vektoren aus den Eingabedaten (jeweils drei Zahlen durch Leerzeichen getrennt) und geben das Ergebnis der Addition, Subtraktion, des Skalarprodukts sowie den zweiten Vektor mit unärem Minus aus. Jedes Ergebnis wird in einer eigenen Zeile ausgegeben. Es ist garantiert, dass die Koordinaten ganze Zahlen von -100 bis 100 sind.

Eingabeformat

Zwei Zeilen. Jede Zeile enthält drei durch Leerzeichen getrennte ganze Zahlen – die Koordinaten eines Vektors.

Ausgabeformat

Vier Zeilen: 1) Koordinaten der Vektorsumme (durch Leerzeichen getrennt); 2) Koordinaten der Differenz (erster minus zweiter); 3) Skalarprodukt (ganze Zahl); 4) Koordinaten des zweiten Vektors mit unärem Minus.

Beispiele

Beispiel 1

EINGABE
1 2 3 4 5 6
AUSGABE
5 7 9 -3 -3 -3 32 -4 -5 -6

Beispiel 2

EINGABE
5 3 -1 4 -2 6
AUSGABE
Invalid input

Beispiel 3

EINGABE
0 0 0 -1 2 5
AUSGABE
-1 2 5 1 -2 -5 0 1 -2 -5

Beispiel 4

EINGABE
[{"category":"A","value":10,"active":true},{"category":"B","value":20,"active":true},{"category":"A","value":30,"active":false},{"category":"B","value":25,"active":true}] 15 30
AUSGABE
Invalid input

Beispiel 5

EINGABE
3 -5 -10 -15
AUSGABE
Invalid input
main.cs