Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 04.10.2008
Сообщений: 97

Работа с массивом

19.05.2009, 19:36. Показов 1072. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня всем ! Вообщем, у меня проблема: есть многомерный массив

C#
1
public int[,] Massiv = new int[Grid, Grid];
переменной Grid пприсваивается определённое значение при выполнении одного из условий. когда программа запускается Grid == 12.
Также есть метод Load, который прорисовывает поле для игры:
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
public static void Load(Form1 frm1)
        {
                    using (Graphics g = Graphics.FromImage((Image)Form1.img))
                    {
 
                        Pen red = new Pen(Color.Gray, 2);
                        Pen black = new Pen(Color.Black, 1);
 
                        for (int i = 40; i <= 20 * (Form1.Grid - 1 + 1); i += 20)
                        {
                            //Горизонтальные линии
                            g.DrawLine(red, 40, i, 540, i);
 
                            //Вертикальные линии
                            g.DrawLine(red, i, 40, i, 540);
 
                            //Чёрные линии
                            g.DrawLine(black, 40, i, 540, i);
                        }
                        for (int k = 0; k < Form1.Grid - 1; k++)
                            for (int m = 0; m < Form1.Grid - 1; m++)
                            {
                                if (frm1.Massiv[k, m] == 0) //при Grid == 17: ошибка "Выход за пределы массива k=0, m=12"
 
                                {
                                    Brush b = new SolidBrush(Color.Silver);
                                    g.FillRectangle(b, 41 + k * 20, 41 + m * 20, 18, 18);
                                }
                            }
если я нажимаю на определённый флажок, то Grid присваивается новое значение, равное 17. естественно, я запускаю метод Load, чтобы перерисовалось поле. но выдаётся ошибка выхода за пределы массива. т.е. насколько я понимаю, почему-то значения k и m не подстраиваются под новое значение Grid. так вот, помогите решить данную проблему. буду весьма признателен за любую помощь !
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2009, 19:36
Ответы с готовыми решениями:

Работа с массивом
День добрый , подскажите пожалуйста , правильно ли я составил массив и присвоил ему значение, для проверки массив вывожу на Debug.Print ,...

Работа с массивом
Меня заинтересовала эта тема: https://www.cyberforum.ru/java-j2se/thread1744997.html Необходимо создать массив из...

Работа с массивом
Задача: Есть ли элемент оканчивающийся на 3? Program pr3; const n = 10; type MAS = array of integer; var a:MAS; i, k: integer; ...

4
 Аватар для Mecid
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
19.05.2009, 19:40
ты выделяешь патять на 12 элементов,а потом обращаешься к 17 поэтому и ошибка
0
1 / 1 / 0
Регистрация: 04.10.2008
Сообщений: 97
19.05.2009, 19:55  [ТС]
ну да, это я понял. а как мне сделать чтобы произошло новое выделение памяти для нового значения Grid ?
0
 Аватар для Mecid
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
19.05.2009, 19:58
можно использовать коллекции,там при добавлении элемента память выделяется автоматически,а еще можно выделить память под максимум элементов
1
1 / 1 / 0
Регистрация: 04.10.2008
Сообщений: 97
19.05.2009, 23:47  [ТС]
Спасибо за совет ! Помогло !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2009, 23:47
Помогаю со студенческими работами здесь

Работа с массивом
Задан целочисленный массив Х из 20 элементов, среди которых есть повторяющиеся. Определить наименьший и наибольший элементы массива. Если...

работа с массивом
Задание: Написать программу, которая считает произведение ненулевых нечетных целых чисел на интервале (a;b). Границы интервала вводятся по...

Работа с массивом
Здарова, ребят. Кто может объяснить, что будет в EBX при выполнении этой команды: M: DB...

Работа с массивом.
найти количество элементов мвссива, которые больше 50. sos!!!! удалить из массива заданный элемент. сортировать массив по убыванию. ...

Работа с массивом
пытаюсь из массива многомерного, который из базы вытягивается создать массив и отфильтровать данные потом значение передать в текстовое...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru