******************** Exercise 2 **************************** * Implement a Matrix class for 2-by-2 matrices Include a default constructor, a copy constructor, an inverse() function that returns the inverse of the matrix, a det() function that returns the determinant of the matrix, a Boolean function isSingular() that returns 1 or 0 according to whether the determinant is zero, and a print() function that returns the elements of the matrix ******************** Exercise 2 **************************** * Implement a "Complex" class, which represents complex numbers. The data members are the real and imaginary part of the number. There must be a constructor composed by 2 double. Overload the operators +, -, *, =, ==,! =, <<, >> N. B .: the functions that overload the operators << and >> must be declares as "friend" function Execution example: ./usaComplessi.exe Give me a complex number in the form: a + bi 3 + 5i x: 0 + 0i y: 4.3 + 8.2i z: 3.3 + 1.1i k: 3 + 5i x = y + z: 7.6 + 9.3i = 4.3 + 8.2i + 3.3 + 1.1i x = y - z: 1 + 7.1i = 4.3 + 8.2i - 3.3 + 1.1i x = y * z: 23.21 + 31.79i = 4.3 + 8.2i * 3.3 + 1.1i 23.21 + 31.79i ! = 3 + 5i 3 + 5i == 3 + 5i ******************** Exercise 3 **************************** * Implement a Vector class that represents vectors in 3 dimensions (hint: use 3-component representation) The class must have at least: - a constructor with 3 double - overloading of the operators <<, +, - - the operation "scalar product" - member functions that return the components and the form of the vector Write a simple program that creates and uses objects of the Vector class Execution example: ./useVettore.exe  Vector v1 (1, 0, 0)  Vector v2 (1, 1, 0)  Vector v (2, 1, 0) sum of v1 vectors (1, 0, 0) and v2 (1, 1, 0)  component x: 2  component y: 1  component z: 0  form of v: 2.23607  The scalar product of (1, 0, 0) and v2 (1, 1, 0): 1