public Fracao subtracao(Fracao obj) { int mmc = getMmc(this, obj); int numerador1 = mmc / this.denominador * this.numerador; int numerador2 = mmc / obj.denominador * obj.numerador; return(new Fracao(numerador1 - numerador2, mmc)); }
public static int getMmc(Fracao obj1, Fracao obj2) { int num1 = obj1.denominador; int num2 = obj2.denominador; int resto; while (num2 != 0) { resto = num1 % num2; num1 = num2; num2 = resto; } return((obj1.denominador * obj2.denominador) / num1); }
public static void testar() { List <Fracao> lista = new List <Fracao> (); lista.Capacity = 10; Fracao soma = new Fracao(0, 1); Random rnd = new Random(); for (int i = 0; i < 10; i++) { Fracao obj = new Fracao(rnd.Next(1, 10), rnd.Next(1, 10)); lista.Add(obj); } foreach (Fracao obj in lista) { soma = soma + obj; System.Console.WriteLine(obj); } System.Console.WriteLine("\nSoma: " + soma); }
public bool opMenor(Fracao obj) { return((this.numerador / this.denominador) < (obj.numerador / obj.denominador)); }
public bool opDiferente(Fracao obj) { return((this.numerador != obj.numerador) || (this.denominador != obj.denominador)); }
public bool opIgual(Fracao obj) { return((this.numerador == obj.numerador) && (this.denominador == obj.denominador)); }
public Fracao divisao(Fracao obj) { return(new Fracao(this.numerador * obj.denominador, this.denominador * obj.numerador)); }