Индексатор для проверки выхода массива за границы - C#

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

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

Помогите сделать индексатор, временно сделал просто catch, не могу разобраться. Правил программу по требованию в этой теме (может чего забыл, посмотрите пожалуйста)
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Laba8
  7. {
  8. class Work
  9. {
  10. static private int length;
  11. static private int begin;
  12. static private int theEnd;
  13. int[] Array;
  14. public int Length
  15. {
  16. get { return length; }
  17. set { length = value; }
  18. }
  19. public int Begin
  20. {
  21. get { return begin; }
  22. set { begin = value; }
  23. }
  24. public int TheEnd
  25. {
  26. get { return theEnd; }
  27. set { theEnd = value; }
  28. }
  29. public Work()
  30. {
  31. //констурктор без параметров
  32. }
  33. public Work(int length, int begin, int theEnd)
  34. {
  35. this.Length = length;
  36. this.Begin = begin;
  37. this.TheEnd = theEnd;
  38. }
  39. public void PrintAllArray(int[] Array, int Lenght, int Begin, int End)
  40. {
  41. Random R = new Random();
  42. for (int i = 0; i < Length; i++)
  43. {
  44. Array[i] = R.Next(Begin, TheEnd);
  45. Console.Write("{0} ", Array[i]);
  46. }
  47. Console.ReadLine();
  48. }
  49. static public void SumArray(int[] Array, int[] b, int x)
  50. {
  51. int[] Copy = new int[x];
  52. for (int i = 0; i < length; i++)
  53. {
  54. Copy[i] = Array[i] + b[i];
  55. Console.Write("{0} ", Copy[i]);
  56. }
  57. }
  58. static public void DiffArray(int[] Array, int[] b, int x)
  59. {
  60. int[] Copy = new int[x];
  61. for (int i = 0; i < length; i++)
  62. {
  63. Copy[i] = Array[i] - b[i];
  64. Console.Write("{0} ", Copy[i]);
  65. }
  66. }
  67. public void MultArrayOnScalar(int[] a, int temp, int x)
  68. {
  69. int[] Copy = new int[x];
  70. for (int i = 0; i < length; i++)
  71. {
  72. Copy[i] = a[i] * temp;
  73. Console.Write("{0} ", Copy[i]);
  74. }
  75. }
  76. public void DelArrayOnScalar(int[] a, int temp, int x)
  77. {
  78. double[] Copy = new double[x];
  79. for (int i = 0; i < length; i++)
  80. {
  81. Copy[i] = Convert.ToDouble(a[i]) / temp;
  82. Console.Write("{0} ", Copy[i]);
  83. }
  84. }
  85. }
  86. class Program
  87. {
  88. static void Main(string[] args)
  89. {
  90. Work one = new Work(10, -10, 3);
  91. Work two = new Work(6, -3, 5);
  92. int[] One = new int[one.Length];
  93. int[] Two = new int[two.Length];
  94. Console.WriteLine("Первый массив:");
  95. one.PrintAllArray(One, one.Length, one.Begin, one.TheEnd);
  96. Console.WriteLine("Второй массив:");
  97. two.PrintAllArray(Two, two.Length, two.Begin, two.TheEnd);
  98. try
  99. {
  100. Console.Write("Индекс элемента = ");
  101. int i = Int32.Parse(Console.ReadLine());
  102. Console.WriteLine("One[{0}]={1}", i, One[i]);
  103. }
  104. catch (FormatException){ Console.WriteLine("Неверный формат"); }
  105. catch { Console.WriteLine("Выход за границы массива"); } // примитивная проверка на выход за границы
  106.  
  107. Console.WriteLine("Поэлементная сумма:");
  108. Work.SumArray(One, Two, One.Length);
  109. Console.WriteLine();
  110. Console.WriteLine("Поэлементная разность:");
  111. Work.DiffArray(One, Two, One.Length);
  112. Console.WriteLine();
  113. Console.WriteLine("Уножение на скаляр:");
  114. one.MultArrayOnScalar(One, 2, One.Length);
  115. Console.WriteLine();
  116. Console.WriteLine("Деление на скаляр:");
  117. one.DelArrayOnScalar(One, 2, One.Length);
  118. Console.WriteLine();
  119. }
  120. }
  121. }

Решение задачи: «Индексатор для проверки выхода массива за границы»

textual
Листинг программы
  1. public int length
  2. {
  3.    get { return array.Length; }
  4. }

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


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

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

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

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

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

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