Оптимизация работы класса - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д