Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Rich Bich
1 / 1 / 0
Регистрация: 25.10.2016
Сообщений: 33
Завершенные тесты: 1
1

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

10.04.2017, 12:42. Просмотров 290. Ответов 4
Метки нет (Все метки)

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


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
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();
            }
 
        }
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2017, 12:42
Ответы с готовыми решениями:

Ошибка "Элемент "obj" не существует в текущем контексте"
Подчеркивает obj, а в поле ошибок пишет что &quot;Элемент &quot;obj&quot; не существует в текущем контексте ...

Вылазит ошибка: "Элемент "y" не существует в текущем контексте"
Ребята помогите решить банальную задачу : Почему вылазит эта ошибка : &quot;Элемент &quot;y&quot; не существует...

Ошибка CS0103: Элемент "Color" не существует в текущем контексте
using System; using System.Windows.Forms; class MyButtonClass : Form { private Button...

Ошибка 1 Элемент "Console" не существует в текущем контексте
class Programm { static int array = { 10, 98, 78, 4, 54, 25, 84, 41, 30, 87, 6 }; ...

Ошибка: элемент "i" не существует в текущем контексте
Ошибка :элемент &quot;i&quot; не существует в текущем контексте. static long F(int i) { ...

4
doqsoftware
6 / 6 / 9
Регистрация: 02.07.2015
Сообщений: 80
Завершенные тесты: 2
10.04.2017, 13:35 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 int[,] arr;
 private 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]
            }
        }
0
Wolfdp
896 / 801 / 207
Регистрация: 15.06.2012
Сообщений: 3,168
Записей в блоге: 1
Завершенные тесты: 1
10.04.2017, 17:07 3
Цитата Сообщение от doqsoftware Посмотреть сообщение
private int[,] Nmass;
Цитата Сообщение от doqsoftware Посмотреть сообщение
public int N
Цитата Сообщение от doqsoftware Посмотреть сообщение
return Nmass;
угадайте, какая будет теперь ошибка? =D
0
Rich Bich
1 / 1 / 0
Регистрация: 25.10.2016
Сообщений: 33
Завершенные тесты: 1
13.04.2017, 13:58  [ТС] 4
Нельзя использовать никакие другие поля, ни закрытые, ни открытые (по условию).
0
cybersport12
33 / 33 / 24
Регистрация: 02.05.2014
Сообщений: 159
13.04.2017, 15:31 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        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]
            }
        }
Естественно он не будет существовать в том контексте, т.к. вы его объявили в методе, а N у вас объявлено как свойство. Область видимости Nmass ограничивается методом MassWork
0
13.04.2017, 15:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2017, 15:31

Ошибка "Элемент не существует в текущем контексте"
было сделано через byte и все работало и в массиве соответственно числа были,пишут так не правильно...

Ошибка "Элемент не существует в текущем контексте"
Начал переписывать код и столкнулся с одной проблемой: int FindGame(string nModule,string...

Как использовать Thread.Sleep(5000), ошибка: "Элемент "Thread" не существует в текущем контексте"
я так понимаю, что Thread.Sleep(5000); это &quot;тормоз&quot; процесса выполенения программы на 5 сек? А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru