Subato

Resource Files

Vektoren

Implementieren Sie die folgende C-Header Datei:

#ifndef VECTOR__H
#define VECTOR__H

struct Vector {
  double x;
  double y;
  double z;
};

/** Modifiziert den ersten Parameter durch Multiplikation 
beider Komponenten mit einem Skalar.*/
void multMod(struct Vector* this, double that);

/** Berechnet einen neuen Vektor durch Multiplikation mit
    einem Skalar. */
struct Vector mult(struct Vector this, double that);

/** Addiert komponentenweise den zweiten Vektor auf den ersten.*/
void addMod(struct Vector* this, struct Vector that);

/** Berechnet einen neuen Vektor durch Addition zweier
    Vektoren. */
struct Vector add(struct Vector this, struct Vector that);
 
/** Berechnet das Skalarprodukt für zwei Vektoren. */
double dotProduct(struct Vector this, struct Vector that);

/** Berechnet das Kreuzprodukt für zwei Vektoren. */
struct Vector crossProduct(struct Vector this, struct Vector that);

/** Berechnet den Betrag eines Vektors. */
double norm(struct Vector v);

/** Stellt eine Gerade als Punktrichtungsgleichung dar. */
struct PunktRichtungsGleichung {
  struct Vector punkt;
  struct Vector richtung;
};

/** Berechnet den Abstand eines Punktes zu einer Geraden. */
double distance(struct PunktRichtungsGleichung gl,struct Vector p);

#endif

#include "vector.h" #include <math.h> /** Modifiziert den ersten Parameter durch Multiplikation beider Komponenten mit einem Skalar.*/ void multMod(struct Vector* this, double that){ } struct Vector mult(struct Vector this, double that){ } /** Addiert komponentenweise den zweiten Vektor auf den ersten.*/ void addMod(struct Vector* this, struct Vector that){ } struct Vector add(struct Vector this, struct Vector that){ } /** Berechnet das Skalarprodukt für zwei Vektoren. */ double dotProduct(struct Vector this, struct Vector that){ } /** Berechnet das Kreuzprodukt für zwei Vektoren. */ struct Vector crossProduct(struct Vector this, struct Vector that){ } /** Berechnet den Betrag eines Vektors. */ double norm(struct Vector v){ } /** Berechnet den Abstand eines Punktes zu einer Geraden. */ double distance(struct PunktRichtungsGleichung gl,struct Vector p){ }
c
You are not logged in and therefore you cannot submit a solution.