Гладилов Глеб - Лабораторная Работа #2

Why did you create `CompareRealWithZero` and `CompareImaginaryWithZero` as different functions? They do the same thing. Note that it isn't convenient for you to use 2 different types `RealType` and `ImaginaryType` for the similar values. I suggest to delete type definition of these types and leave simply `double`. Also why did you place the prototypes and implementation functions near each other?  I propose to write ALL prototypes at the begin then ALL implementations at the end. It hasn't meaning otherwise.