コード例 #1
0
        //процедура по сокращению дроби
        public static Дробь SetFormat(Дробь a)
        {
            double max = 0;

            //выбираем что больше числитель или знаменатель
            if (a.числитель > a.знаменатель)
            {
                max = Math.Abs(a.знаменатель);//ВНИМАНИЕ! берем по модулю, что работало и с отрицательными
            }
            else
            {
                max = Math.Abs(a.числитель);//ВНИМАНИЕ! берем по модулю, что работало и с отрицательными
            }
            //поиск от максимума до 2
            for (double i = max; i >= 2; i--)
            {
                //такого числа, поделив на которое бы делилось без
                //остатка и на числитель и на знаменатель
                if ((a.числитель % i == 0) & (a.знаменатель % i == 0))
                {
                    a.числитель   = a.числитель / i;
                    a.знаменатель = a.знаменатель / i;
                }
            }
            //Определяемся со знаком
            //если в знаменателе минус, поднимаем его наверх
            if ((a.знаменатель < 0))
            {
                a.числитель   = -1 * (a.числитель);
                a.знаменатель = Math.Abs(a.знаменатель);
            }
            return(a); //возращаем результат
        }
コード例 #2
0
        public static Дробь operator /(Дробь a, Дробь b)   //деление дробей
        {
            Дробь t = new Дробь(1, 1);                     //создание и инициализация новой дроби

            t.числитель   = (a.числитель / b.числитель);   //числитель новой дроби
            t.знаменатель = a.знаменатель / b.знаменатель; //знаменатель новой дроби
            Дробь.SetFormat(t);                            //сокращаем дробь
            return(t);                                     //возвращаем результат
        }
コード例 #3
0
        static void Main(string[] args)
        {
            //Основная программа
            Дробь a = new Дробь(4, -8); //создание объекта класса Drob
            Дробь b = new Дробь(2, 5);  //создание объекта класса Drob

            Дробь c;

            c = a + b;
            Console.WriteLine(a.ToString());
            Console.WriteLine(b.ToString());
            Console.WriteLine("Проверка на сложение: " + a.ToString() + "+" + b.ToString() + "=" + c.ToString());
            Console.ReadKey();
        }
コード例 #4
-1
ファイル: Program.cs プロジェクト: GarageInc/all
        //процедура по сокращению дроби
        public static Дробь SetFormat(Дробь a)
        {

            double max = 0;

            //выбираем что больше числитель или знаменатель
            if (a.числитель > a.знаменатель)
                max = Math.Abs(a.знаменатель);//ВНИМАНИЕ! берем по модулю, что работало и с отрицательными
            else
                max = Math.Abs(a.числитель);//ВНИМАНИЕ! берем по модулю, что работало и с отрицательными
            //поиск от максимума до 2
            for (double i = max; i >= 2; i--)
            {
                //такого числа, поделив на которое бы делилось без
                //остатка и на числитель и на знаменатель
                if ((a.числитель % i == 0) & (a.знаменатель % i == 0))
                {
                    a.числитель = a.числитель / i;
                    a.знаменатель = a.знаменатель / i;
                }

            }
            //Определяемся со знаком
            //если в знаменателе минус, поднимаем его наверх
            if ((a.знаменатель < 0))
            {
                a.числитель = -1 * (a.числитель);
                a.знаменатель = Math.Abs(a.знаменатель);
            }
            return (a);//возращаем результат
        }
コード例 #5
-1
ファイル: Program.cs プロジェクト: GarageInc/all
        static void Main(string[] args)
        {
            //Основная программа
            Дробь a = new Дробь(4, -8);//создание объекта класса Drob
            Дробь b = new Дробь(2, 5);//создание объекта класса Drob

            Дробь c;
            c = a + b;
            Console.WriteLine(a.ToString());
            Console.WriteLine(b.ToString());
            Console.WriteLine("Проверка на сложение: " + a.ToString() + "+" + b.ToString() + "=" + c.ToString());
            Console.ReadKey();

        }
コード例 #6
-20
ファイル: Program.cs プロジェクト: GarageInc/all
 public static Дробь operator /(Дробь a, Дробь b)//деление дробей
 {
     Дробь t = new Дробь(1, 1);//создание и инициализация новой дроби
     t.числитель = (a.числитель / b.числитель);//числитель новой дроби
     t.знаменатель = a.знаменатель / b.знаменатель;//знаменатель новой дроби
     Дробь.SetFormat(t);//сокращаем дробь
     return t;//возвращаем результат
 }