đa thức

Màu nền
Font chữ
Font size
Chiều cao dòng

class DaThuc

    {

        private int _BacDaThuc;

        private double[] _HeSo=new double[1000];

        public int BacDaThuc

        {

            get { return _BacDaThuc;}

            set { _BacDaThuc = value;}

        }

        public double[] HeSo

        {

            get { return _HeSo; }

            set { _HeSo = value; }

        }

        public DaThuc(int N)

        {

            N = _BacDaThuc+1;

        }

        public DaThuc(params double [] arr)

        {

            _BacDaThuc=arr.Length-1;

            arr = new double[_BacDaThuc + 1];

            for(int i=0;i<=_BacDaThuc;i++)

            {

                _HeSo[i] = arr[i];

            }

        }

        public double this[int index]

        {

            get 

            { 

                return _HeSo[index]; 

            }

            set 

            { 

                _HeSo[index] = value; 

            }

        }

        public static DaThuc operator+(DaThuc f,DaThuc g)

        {

            DaThuc h = new DaThuc();

            int BacCaoNhat = Math.Max(f._BacDaThuc, g._BacDaThuc);

            h._BacDaThuc = BacCaoNhat;

            for (int i = 0; i <= h._BacDaThuc; i++)

            {

                h._HeSo[i] = f._HeSo[i] + g._HeSo[i];

            }

            return h;

        }

        public static DaThuc operator-(DaThuc f,DaThuc g)

        {

            DaThuc h = new DaThuc();

            int BacCaoNhat = Math.Max(f._BacDaThuc, g._BacDaThuc);

            h._BacDaThuc = BacCaoNhat;

            for (int i = 0; i <= h._BacDaThuc; i++)

            {

                h._HeSo[i] = f._HeSo[i] - g._HeSo[i];

            }

            return h;

        }

        public override string  ToString()

        {

            if (this[0] != 0)

            {

                Console.Write("{0}+ ", this[0]);

            }

            for (int i =this._BacDaThuc; i >0; i--)

            {

                if (this[i] == 0) continue;

                if (i > 1)

                    Console.Write(" {0}*x^{1} +", i,this[i]);

                else

                    Console.Write(" {0}*x +", this[i]);

            }

            if (this[_BacDaThuc] != 0)

            {

                Console.WriteLine(" {0}*x^{1}", this[_BacDaThuc], _BacDaThuc);

            }

            return "";

        }

    }

class Program

    {

        public static void NhapDaThuc(DaThuc f, int n)

        {

            f.BacDaThuc = n;

            Console.WriteLine("Nhap he so:");

            for (int i = 0; i <= f.BacDaThuc; i++)

            {

                f[i] = double.Parse(Console.ReadLine());

            }

        }

        static void Main(string[] args)

        {

            Console.Write("Nhap Bac DT1:");

            int n = int.Parse(Console.ReadLine());

            DaThuc f = new DaThuc(n);

            NhapDaThuc(f, n);

            Console.Write("Da thuc vua nhap f(x)=");

            f.ToString();

            Console.Write("Nhap Bac DT2:");

            int m = int.Parse(Console.ReadLine());

            DaThuc g = new DaThuc(m);

            NhapDaThuc(g, m);

            Console.Write("Da thuc vua nhap g(x)=");

            g.ToString();

            int max1 = Math.Max(n,m);

            DaThuc h = new DaThuc(max1);

            h = f + g;

            Console.Write("f(x)+g(x)=");

            h.ToString();

            h = f - g;

            Console.Write("f(x)-g(x)=");

            h.ToString();

            Console.ReadLine();

        }

    }

Bạn đang đọc truyện trên: Truyen2U.Pro

#khanh1103