Двумерный массив. Ошибка "Элемент не существует в текущем контексте" - C#

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

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

Ошибка: Элемент "Nmass" не существует в текущем контексте.

Листинг программы
  1. using System;
  2. using System.Text;
  3. namespace Lab_3
  4. {
  5. class MassWork
  6. {
  7. int[,] arr;
  8.  
  9. public int N
  10. {
  11. get
  12. {
  13. return Nmass; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте. [/B]
  14. }
  15. set
  16. {//в if генерируем ошибку
  17. if (value <= 0)
  18. throw new ArgumentException("Размер массива должен быть больше нуля!", "N");
  19. Nmass = value; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте. [/B]
  20. }
  21. }
  22. public MassWork()
  23. {
  24. Console.Write("Введите количество студентов: ");
  25. int Nmass;
  26. try
  27. {
  28. Nmass = Convert.ToInt32(Console.ReadLine());
  29. }
  30. catch (ArgumentException ex)
  31. {
  32. Console.WriteLine("ОШИБКА: " + ex.Message);
  33. Console.Write("Введите размер массива числовыми значениями: ");
  34. Nmass = Convert.ToInt32(Console.ReadLine());
  35. }
  36. catch (StackOverflowException)
  37. {
  38. Nmass = Convert.ToInt32(Console.ReadLine());
  39. }
  40. int Mmass = 2;
  41. int N = Nmass;
  42. int M = Mmass;
  43. int Length = N * M;
  44. arr = new int[Nmass, 2];
  45. }
  46. public MassWork(int rows, int cols, int Nmass, int Mmass, int N, int M, int Length)
  47. {
  48. Nmass = rows;
  49. Mmass = cols;
  50. Length = rows * cols;
  51. N = rows;
  52. M = cols;
  53. arr = new int[Nmass, Mmass];
  54. }
  55. public int this[int index1, int index2]
  56. {
  57. set
  58. {
  59. arr[index1, index2] = value;
  60. }
  61. get
  62. {
  63. return arr[index1, index2];
  64. }
  65. }
  66.  
  67. public void AddMassWork(int i, int NZach, int NGod)
  68. {
  69. this[i, 0] = NZach;
  70. Console.WriteLine(DateTime.Today.Year - NGod);
  71. try
  72. {
  73. int KolYears = DateTime.Today.Year - NGod;
  74. }
  75.  
  76. catch (ArgumentException ex)
  77. {
  78. Console.WriteLine("ОШИБКА: " + ex.Message);
  79. Console.Write("Введите год рождения числовыми значениями: ");
  80. NGod = Convert.ToInt32(Console.ReadLine());
  81. }
  82. catch (StackOverflowException)
  83. {
  84. int Nmass = Convert.ToInt32(Console.ReadLine());
  85. }
  86. this[i, 1] = NGod;
  87. }
  88. public void ResultMassWork(int maxYear)
  89. {
  90. int kolMax = 0;
  91.  
  92. for (int i = 0; i < N; i++)
  93. {
  94. Console.WriteLine("Возраст студента (" + this[i, 0] + ") составляет: " + Convert.ToString(DateTime.Today.Year - this[i, 1] - 1) + " лет.");
  95. if (DateTime.Today.Year - this[i, 1] > maxYear)
  96. {
  97. kolMax++;
  98. }
  99. }
  100. Console.WriteLine("Количество студентов, возраст которых превышает заданное значение = " + Convert.ToString(kolMax));
  101. }
  102. public void GetMassWork()
  103. {
  104. for (int i = 0; i < N; i++)
  105. {
  106. Console.WriteLine(this[i, 0] + "\t" + this[i, 1]);
  107. }
  108. Console.ReadLine();
  109. }
  110. }
  111. class Program
  112. {
  113. static void Main(string[] args)
  114. {
  115. MassWork myMass = new MassWork();
  116. Console.WriteLine("Введите данные, количество студентов = " + myMass.N);
  117. int Nzach;
  118. int Gr;
  119. Console.WriteLine();
  120. for (int i = 0; i < myMass.N; i++)
  121. {
  122. Console.Write("Введите номер зач.книжки: ");
  123. Nzach = Convert.ToInt32(Console.ReadLine());
  124. Console.Write("Введите год рождения: ");
  125. Gr = Convert.ToInt32(Console.ReadLine());
  126. myMass.AddMassWork(i, Nzach, Gr);
  127. }
  128. Console.WriteLine();
  129. int maxYear;
  130. Console.Write("Задайте максимальный возраст: ");
  131. maxYear = Convert.ToInt32(Console.ReadLine());
  132. myMass.ResultMassWork(maxYear);
  133. Console.WriteLine();
  134. String yesno;
  135. Console.WriteLine("Вывести полный список студентов?(да или нет)");
  136. yesno = Console.ReadLine();
  137. if (yesno == "да")
  138. {
  139. myMass.GetMassWork();
  140. }
  141. }
  142. }
  143. }

Решение задачи: «Двумерный массив. Ошибка "Элемент не существует в текущем контексте"»

textual
Листинг программы
  1.         public MassWork()
  2.         {
  3.             ...
  4.             int Nmass;
  5.             ...
  6.         }
  7.  
  8. public int N
  9.         {
  10.             get
  11.             {
  12.                 return Nmass; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте.  [/B]
  13.             }
  14.             set
  15.             {//в if генерируем ошибку
  16.                 if (value <= 0)
  17.                     throw new ArgumentException("Размер массива должен быть больше нуля!", "N");
  18.                 Nmass = value; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте. [/B]
  19.             }
  20.         }

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


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

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

12   голосов , оценка 4 из 5

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

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

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