public Fractions Div(Fractions other) { long a = Numerator * other.Denominator; long b = Denominator * other.Numerator; return(new Fractions(a, b)); }
private void btnResult_Click(object sender, EventArgs e) { Fractions First = new Fractions(int.Parse(tbNumerator1.Text), int.Parse(tbDenominator1.Text)); Fractions Second = new Fractions(int.Parse(tbNumerator2.Text), int.Parse(tbDenominator2.Text)); Fractions Result = new Fractions(0, 0); switch (cbJob.SelectedItem) { case "+": Result = First.PlusFractions(Second); break; case "-": Result = First.SubstractFractions(Second); break; case "*": Result = First.MultiFractions(Second); break; case "/": Result = First.DividingFractions(Second); break; } tbResultNumerator.Text = First.GetNumerator; tbResultDenominator.Text = First.GetDenominator; }
public static Fractions Plus(Fractions fract1, Fractions fract2) //метод, в котором за основу берётся класс, как переменная. { resDenom = NOK(fract1.denom, fract2.denom); // записываем результат вычисления общего знаменателя resNom = ForNom(NomCoef(fract1.nom, fract1.denom, resDenom) + NomCoef(fract2.nom, fract2.denom, resDenom), resDenom); //записываем результат расчёта числителей resFull = ForFull(fract1.full, fract2.full, NomCoef(fract1.nom, fract1.denom, resDenom) + NomCoef(fract2.nom, fract2.denom, resDenom), resDenom); //рез.расч.множителя return(new Fractions(ReductionDenom(resNom, resDenom), ReductionNom(resNom, resDenom), resFull)); //Экземпляр класса с заданными параметрами. (можно было сразу с рассчётом на месте каждого аргумента). }
public static Fractions Divide(Fractions fract1, Fractions fract2) //объект для деления дробей { resNom = ForDivide(fract1.nom, fract1.denom, fract1.full) * fract2.denom; //складываем числитель 1 помноженный на множитель 1 со знаменателем 2 resDenom = fract1.denom * ForDivide(fract2.nom, fract2.denom, fract2.full); //складываем знаменатель 1 с числителем 2 помноженным на множитель 2 resNom = ForNom(resNom, resDenom); resFull = resNom / resDenom; return(new Fractions(ReductionDenom(resNom, resDenom), ReductionNom(resNom, resDenom), resFull)); }
public static Fractions Multi(Fractions fract1, Fractions fract2) { resNom = (fract1.nom + (fract1.full * fract1.denom)) * (fract2.nom + (fract2.full * fract2.denom)); //записываем результат вычисления числителя resDenom = fract1.denom * fract2.denom; //записываем результат вычисления знаменателя resFull = resNom / resDenom; //записываем множитель resNom = ForNom(resNom, resDenom); return(new Fractions(ReductionDenom(resNom, resDenom), ReductionNom(resNom, resDenom), resFull)); }
public Fractions DividingFractions(Fractions B) { Fractions Result; this.numerator *= B.denominator; this.denominator *= B.numerator; Result = this.GetReductFraction(); return(Result); }
public Fractions SubstractFractions(Fractions B) { Fractions Result; this.numerator = this.numerator * B.denominator - B.numerator * this.denominator; this.denominator *= B.denominator; Result = this.GetReductFraction(); return(Result); }
public Fractions divide(Fractions second) { string ops = "Division"; Fractions answer = new Fractions(); answer.numerator = this.numerator * second.denominator; answer.denominator = second.numerator * this.denominator; answer = this.reduce(answer); this.print(answer, ops); return(answer); }
public Fractions multiply(Fractions second) { string ops = "Multiplication"; Fractions answer = new Fractions(); answer.numerator = this.numerator * second.numerator; answer.denominator = this.denominator * second.denominator; answer = this.reduce(answer); this.print(answer, ops); return(answer); }
public static Fractions Substraction(Fractions fract1, Fractions fract2)//объект для вычитания дробей { resDenom = NOK(fract1.denom, fract2.denom); resNom = ForNom(NomCoef(fract1.nom, fract1.denom, resDenom) - NomCoef(fract2.nom, fract2.denom, resDenom), resDenom); resFull = fract1.full - fract2.full; if (resFull > 0 && resNom <= 0) { resNom += resDenom; resFull -= 1; } return(new Fractions(ReductionDenom(resNom, resDenom), ReductionNom(resNom, resDenom), resFull)); }
private Fractions reduce(Fractions x) { int gcd; gcd = GCD(x.numerator, x.denominator); x.numerator = x.numerator / gcd; x.denominator = x.denominator / gcd; if (x.denominator < 1) { x.denominator = x.denominator * -1; x.numerator = x.numerator * -1; } return(x); }
static void Main(string[] args) { long a1, b1, a2, b2; string comand; Console.WriteLine("Vvedite pervii drob."); a1 = Convert.ToInt64(Console.ReadLine()); b1 = Convert.ToInt64(Console.ReadLine()); Console.WriteLine("Vvedite vtoroi drob."); a2 = Convert.ToInt64(Console.ReadLine()); b2 = Convert.ToInt64(Console.ReadLine()); Console.WriteLine("Vvedite komandu: +, -, *, /."); comand = Console.ReadLine(); Fractions first = new Fractions(a1, b1); Fractions second = new Fractions(a2, b2); switch (comand) { case "+": Fractions resultAdd = first.Add(second); resultAdd.Result(); resultAdd.Reducing(); resultAdd.ReducingResult(); break; case "-": Fractions resultSub = first.Sub(second); resultSub.Result(); break; case "*": Fractions resultMulti = first.Multi(second); resultMulti.Result(); break; case "/": Fractions resultDiv = first.Div(second); resultDiv.Result(); resultDiv.Reducing(); resultDiv.ReducingResult(); break; } }
public Fractions Sub(Fractions other) { if (Denominator == other.Denominator) { long a = Numerator - other.Numerator; long b = Denominator; return(new Fractions(a, b)); } else { long a1 = Numerator * other.Denominator; long b1 = Denominator * other.Denominator; long a2 = other.Numerator * Denominator; long b2 = other.Denominator * Denominator; long a = a1 - a2; return(new Fractions(a, b2)); } }
static void Main(string[] args) { string numString; string denomString; string numstring2; string denomString2; Fractions secondFrac, firstFrac; Fractions answer; int numInt, numInt2, denomInt, denomInt2; //input numbers for fractions Console.WriteLine("Input first Numerator:"); numString = Console.ReadLine(); Console.WriteLine("Input first Denominator:"); denomString = Console.ReadLine(); Console.WriteLine("Input second Numerator:"); numstring2 = Console.ReadLine(); Console.WriteLine("Input second Denominator:"); denomString2 = Console.ReadLine(); //parse the numbers numInt = int.Parse(numString); numInt2 = int.Parse(numstring2); denomInt = int.Parse(denomString); denomInt2 = int.Parse(denomString2); //display fractions firstFrac = new Fractions(numInt, denomInt); secondFrac = new Fractions(numInt2, denomInt2); answer = firstFrac.addition(secondFrac); answer = firstFrac.subtract(secondFrac); answer = firstFrac.multiply(secondFrac); answer = firstFrac.divide(secondFrac); Console.ReadKey(); }
static void Main(string[] args) { int nom1 = 0; int denom1 = 0; int full1 = 0; int nom2 = 0; int denom2 = 0; int full2 = 0; Console.WriteLine("Вас приветствует программа для операций с дробями!"); // do //{ Console.WriteLine("Введите числитель(1), знаменатель(2), множитель(3) первой дроби в заданном порядке:"); try { nom1 = Int32.Parse(Console.ReadLine()); denom1 = Int32.Parse(Console.ReadLine()); full1 = Int32.Parse(Console.ReadLine()); } catch { Console.WriteLine("Введены неверные данные, необходимо вводить целые числа"); } Console.WriteLine("Введите числитель(1), знаменатель(2), множитель(3) второй дроби в заданном порядке:"); try { nom2 = Int32.Parse(Console.ReadLine()); denom2 = Int32.Parse(Console.ReadLine()); full2 = Int32.Parse(Console.ReadLine()); } catch { Console.WriteLine("Введены неверные данные, необходимо вводить целые числа"); } // } while (); Fractions fract1 = new Fractions(denom1, nom1, full1);//знаменатель, числитель, множитель Fractions fract2 = new Fractions(denom2, nom2, full2); Fractions fractPlus = new Fractions(0, 0, 0); Fractions fractMulti = new Fractions(0, 0, 0); Fractions fractSubstraction = new Fractions(0, 0, 0); Fractions fractDivide = new Fractions(0, 0, 0); Console.WriteLine("Выберите операцию, которую хотите провести с дробями:"); Console.WriteLine("1 - сложение"); Console.WriteLine("2 - вычитание"); Console.WriteLine("3 - умножение"); Console.WriteLine("4 - деление"); string choise = Console.ReadLine(); switch (choise) { case "1": fractPlus = Fractions.Plus(fract1, fract2); Console.WriteLine($"результат сложения дробей: {fractPlus.full}({fractPlus.nom}/{fractPlus.denom})"); break; case "2": fractSubstraction = Fractions.Substraction(fract1, fract2); Console.WriteLine($"результат вычитания дробей: {fractSubstraction.full}({fractSubstraction.nom}/{fractSubstraction.denom})"); break; case "3": fractMulti = Fractions.Multi(fract1, fract2); Console.WriteLine($"результат умножения дробей: {fractMulti.full}({fractMulti.nom}/{fractMulti.denom})"); break; case "4": fractDivide = Fractions.Divide(fract1, fract2); Console.WriteLine($"результат деления дробей: {fractDivide.full}({fractDivide.nom}/{fractDivide.denom})"); break; } Console.ReadKey(); }
private void print(Fractions derp, string operant) { Console.WriteLine(operant + ": " + derp.numerator + "/" + derp.denominator); }