Двумерный массив. Ошибка "Элемент не существует в текущем контексте" - C#
Формулировка задачи:
Ошибка: Элемент "Nmass" не существует в текущем контексте.
Листинг программы
- using System;
- using System.Text;
- namespace Lab_3
- {
- class MassWork
- {
- int[,] arr;
- public int N
- {
- get
- {
- return Nmass; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте. [/B]
- }
- set
- {//в if генерируем ошибку
- if (value <= 0)
- throw new ArgumentException("Размер массива должен быть больше нуля!", "N");
- Nmass = value; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте. [/B]
- }
- }
- public MassWork()
- {
- Console.Write("Введите количество студентов: ");
- int Nmass;
- try
- {
- Nmass = Convert.ToInt32(Console.ReadLine());
- }
- catch (ArgumentException ex)
- {
- Console.WriteLine("ОШИБКА: " + ex.Message);
- Console.Write("Введите размер массива числовыми значениями: ");
- Nmass = Convert.ToInt32(Console.ReadLine());
- }
- catch (StackOverflowException)
- {
- Nmass = Convert.ToInt32(Console.ReadLine());
- }
- int Mmass = 2;
- int N = Nmass;
- int M = Mmass;
- int Length = N * M;
- arr = new int[Nmass, 2];
- }
- public MassWork(int rows, int cols, int Nmass, int Mmass, int N, int M, int Length)
- {
- Nmass = rows;
- Mmass = cols;
- Length = rows * cols;
- N = rows;
- M = cols;
- arr = new int[Nmass, Mmass];
- }
- public int this[int index1, int index2]
- {
- set
- {
- arr[index1, index2] = value;
- }
- get
- {
- return arr[index1, index2];
- }
- }
- public void AddMassWork(int i, int NZach, int NGod)
- {
- this[i, 0] = NZach;
- Console.WriteLine(DateTime.Today.Year - NGod);
- try
- {
- int KolYears = DateTime.Today.Year - NGod;
- }
- catch (ArgumentException ex)
- {
- Console.WriteLine("ОШИБКА: " + ex.Message);
- Console.Write("Введите год рождения числовыми значениями: ");
- NGod = Convert.ToInt32(Console.ReadLine());
- }
- catch (StackOverflowException)
- {
- int Nmass = Convert.ToInt32(Console.ReadLine());
- }
- this[i, 1] = NGod;
- }
- public void ResultMassWork(int maxYear)
- {
- int kolMax = 0;
- for (int i = 0; i < N; i++)
- {
- Console.WriteLine("Возраст студента (" + this[i, 0] + ") составляет: " + Convert.ToString(DateTime.Today.Year - this[i, 1] - 1) + " лет.");
- if (DateTime.Today.Year - this[i, 1] > maxYear)
- {
- kolMax++;
- }
- }
- Console.WriteLine("Количество студентов, возраст которых превышает заданное значение = " + Convert.ToString(kolMax));
- }
- public void GetMassWork()
- {
- for (int i = 0; i < N; i++)
- {
- Console.WriteLine(this[i, 0] + "\t" + this[i, 1]);
- }
- Console.ReadLine();
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- MassWork myMass = new MassWork();
- Console.WriteLine("Введите данные, количество студентов = " + myMass.N);
- int Nzach;
- int Gr;
- Console.WriteLine();
- for (int i = 0; i < myMass.N; i++)
- {
- Console.Write("Введите номер зач.книжки: ");
- Nzach = Convert.ToInt32(Console.ReadLine());
- Console.Write("Введите год рождения: ");
- Gr = Convert.ToInt32(Console.ReadLine());
- myMass.AddMassWork(i, Nzach, Gr);
- }
- Console.WriteLine();
- int maxYear;
- Console.Write("Задайте максимальный возраст: ");
- maxYear = Convert.ToInt32(Console.ReadLine());
- myMass.ResultMassWork(maxYear);
- Console.WriteLine();
- String yesno;
- Console.WriteLine("Вывести полный список студентов?(да или нет)");
- yesno = Console.ReadLine();
- if (yesno == "да")
- {
- myMass.GetMassWork();
- }
- }
- }
- }
Решение задачи: «Двумерный массив. Ошибка "Элемент не существует в текущем контексте"»
textual
Листинг программы
- public MassWork()
- {
- ...
- int Nmass;
- ...
- }
- public int N
- {
- get
- {
- return Nmass; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте. [/B]
- }
- set
- {//в if генерируем ошибку
- if (value <= 0)
- throw new ArgumentException("Размер массива должен быть больше нуля!", "N");
- Nmass = value; // [B]Ошибка: Элемент "Nmass" не существует в текущем контексте. [/B]
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д