public static SimpleFraction GetDifference(SimpleFraction fraction1, SimpleFraction fraction2) { try { var temp = new SimpleFraction(-fraction2.Numerator, fraction2.Denominator); return(SimpleFraction.GetSum(fraction1, temp)); } catch (Exception) { throw; } }
public static SimpleFraction GetQuotient(SimpleFraction fraction1, SimpleFraction fraction2) { try { var temp = new SimpleFraction(fraction2.Denominator, fraction2.Numerator); return(SimpleFraction.GetComposition(fraction1, temp)); } catch (DivideByZeroException) { throw new DivideByZeroException("Попытка поделить на дробь с нулевым знаменателем!!!"); } catch (Exception) { throw; } }
public static SimpleFraction GetComposition(SimpleFraction fraction1, SimpleFraction fraction2) { try { SimpleFraction result; var temp1 = new SimpleFraction(fraction1.Numerator, fraction2.Denominator); var temp2 = new SimpleFraction(fraction2.Numerator, fraction1.Denominator); result = new SimpleFraction(temp1.Numerator * temp2.Numerator, temp1.Denominator * temp2.Denominator); return(result); } catch (ArgumentOutOfRangeException) { throw new ArgumentOutOfRangeException("Числитель и/или знаменатель выходит за границы диапазона для целых чисел!!!"); } catch (ArithmeticException) { throw; } catch (Exception) { throw new Exception("Произошла какая-то ошибка!!!"); } }