Рац. числа - 3 част
unknown
csharp
2 years ago
1.9 kB
2
Indexable
using System; namespace ConsoleApp19 { class Rational { int num; int den; public Rational (Rational r) { this.num = r.num; this.den = r.den; } public Rational(int n, int d) { this.num = n; this.den = d; normalize(); } public double getDec() { return (double)this.num / this.den; } public string print() { return string.Format("{0}/{1}", this.num, this.den); } public void multi(Rational r) { this.num *= r.num; this.den *= r.den; normalize(); } public void dev(Rational r) { this.num *= r.den; this.den *= r.num; normalize(); } public void add(Rational r) { this.num = (this.num * r.den) + (r.num * this.den); this.den *= r.den; normalize(); } public void minus(Rational r) { this.num = (this.num * r.den) - (r.num * this.den); this.den *= r.den; normalize(); } void normalize() { int a = Math.Abs(this.num); int b = Math.Abs(this.den); while (a != b) { if (a > b) a -= b; else b -= a; } this.num /= a; this.den /= a; } } class Program { static void Main(string[] args) { Rational a = new Rational(4, 10); Rational b = new Rational(4, 5); Rational c = new Rational(a); Console.WriteLine(c.print()); Console.WriteLine(c.getDec()); } } }
Editor is loading...