Оптимизация работы класса - C# (180797)

Узнай цену своей работы

Формулировка задачи:

Написал класс который оперирует с числами в разных СС. Укажите на недостатки, на то что можно сделать получше, что можно добавить. Код:
        class sInt 
        {
            ulong[] number;
            ulong ss;
            public void setNumber(ulong[] n, ulong ss)
            {
                bool isTrueNumber = true;
                int i;

                for (i = 0; i < n.GetLength(0); i++)//проверка, есть ли в числе цифры превосходящие основание сс
                {
                    if (n[i] >= ss)
                    {
                        isTrueNumber = false;
                        break;
                    }
                }

                if (isTrueNumber)
                {
                    number = n;
                    this.ss = ss;
                }
 
            }
            public void translate(ulong nss)
            {
                if (ss != 10)
                {
                    ulong nn = 0;
                    int dims = number.GetLength(0);

                    for (int i = 0; i < dims; i++)//переводим в 10-ю систему счисления
                    {
                        nn += number[i] * (ulong)Math.Pow(ss, (dims - i - 1));
                    }

                    number = new ulong[1];
                    number[0] = nn;
                    bool tn;
                    int sch = 0;
                    while (true)
                    {
                        if (number[sch] >= nss)
                        {
                            Array.Resize(ref number, sch + 2);
                            while (number[sch] >= nss)
                            {
                                number[sch] -= nss;
                                number[sch + 1]++;
                            }
                            sch++;
                        }
                        else break;
 
                    }
                    Array.Reverse(number);
                }
            }
            public string print()
            {
                string o = "";
                for (int i = 0; i < number.GetLength(0); i++) o += number[i].ToString()+'.';
                return o;
            }
 
        }

Решение задачи: «Оптимизация работы класса»

textual
Листинг программы
            public ulong[] getNumber()
            {
                return tNumber;
            }
            public ulong getNotation()
            {
                return tNotation;
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы