/*
FH Giessen Friedberg                                                                                                                         Uebung 09
C++
Prof. Dr. Henrich
 

Ue1
Implementieren Sie den benutzerdefinierten Datentyp Vektor, der einen Vektor beliebiger Dimension darstellt
mit folgenden Eigenschaften:
- Der Konstruktor erhaelt als Parameter die Dimension des Vektors, sowie einen Initialisierungswert fuer alle
  Komponenten
- Ueberladen Sie den Operator[] so, dass der Index nicht bei 0 sondern bei 1 beginnt (d.h. a[1] liefert
  die 0. Komponente, wobei Zuweisung möglich sein soll) und daß bei Verwendung eines Indexes ausserhalb
  des Gültigkeitsbereiches eine entsprechende Meldung erfolgt.
- Implementieren Sie den operator() so daß der i-ten Komponente der Wert w zugewiesen wird Aufruf: v(i,w)
   Bsp. v(4,7.1) bedeutet 4. Komponente erhält den Wert 7.1
- Implementieren Sie die Addition als freien Operator  (Bsp.: (1,2,3) + (8,4) = (9,6,3))
- Implementieren Sie das Skalarprodukt (Operator *) als  Elementoperator
- Implementieren Sie den Ein- und Ausgabeoperator (<< bzw. >>) für diese Klasse
Erproben Sie die Klasse in der main-Fkt.

Ue2
Erstellen Sie eine Klasse Matrix für 2x2 Matrizen, so daß folgende main() Fkt. funktioniert.
    void main(){
         matrix m;  // erstellt 2 x 2 Matrix
         m[0][0]=11;
         m[0][1]=22;
         m[1][0]=33;
         m[1][1]=44;
         m.show();  // 11 22
}                       // 33 44
// Hinweis: Zur doppelten Anwendung des operators[] soll im Prinzip eine innere und eine auessere Klasse erstellt werden
*/