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

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

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

Написал класс который оперирует с числами в разных СС. Укажите на недостатки, на то что можно сделать получше, что можно добавить. Код:
Листинг программы
  1. class sInt
  2. {
  3. ulong[] number;
  4. ulong ss;
  5. public void setNumber(ulong[] n, ulong ss)
  6. {
  7. bool isTrueNumber = true;
  8. int i;
  9.  
  10. for (i = 0; i < n.GetLength(0); i++)//проверка, есть ли в числе цифры превосходящие основание сс
  11. {
  12. if (n[i] >= ss)
  13. {
  14. isTrueNumber = false;
  15. break;
  16. }
  17. }
  18.  
  19. if (isTrueNumber)
  20. {
  21. number = n;
  22. this.ss = ss;
  23. }
  24. }
  25. public void translate(ulong nss)
  26. {
  27. if (ss != 10)
  28. {
  29. ulong nn = 0;
  30. int dims = number.GetLength(0);
  31.  
  32. for (int i = 0; i < dims; i++)//переводим в 10-ю систему счисления
  33. {
  34. nn += number[i] * (ulong)Math.Pow(ss, (dims - i - 1));
  35. }
  36.  
  37. number = new ulong[1];
  38. number[0] = nn;
  39. bool tn;
  40. int sch = 0;
  41. while (true)
  42. {
  43. if (number[sch] >= nss)
  44. {
  45. Array.Resize(ref number, sch + 2);
  46. while (number[sch] >= nss)
  47. {
  48. number[sch] -= nss;
  49. number[sch + 1]++;
  50. }
  51. sch++;
  52. }
  53. else break;
  54. }
  55. Array.Reverse(number);
  56. }
  57. }
  58. public string print()
  59. {
  60. string o = "";
  61. for (int i = 0; i < number.GetLength(0); i++) o += number[i].ToString()+'.';
  62. return o;
  63. }
  64. }

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

textual
Листинг программы
  1.             public ulong[] getNumber()
  2.             {
  3.                 return tNumber;
  4.             }
  5.             public ulong getNotation()
  6.             {
  7.                 return tNotation;
  8.             }

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


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

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

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы