Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020

Индекс находился вне границ массива

06.02.2013, 21:01. Показов 1352. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Подскажите почему выходит за границы, пожалуйста.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public byte[,] array  = new byte[10, 16];
 
 private void Method()
            {
               byte i,j;
                   if
                    (f == 1)
                    for (i = 4; i < i + 2 ; i++)
                    {
                        for (j = 4; j < j + 2; j++)
                        {
 
                            array[i, j] = Convert.ToByte(1);
                        }
                    }
Мне нужно чтобы по две соседние ячейки находящиеся друг под другом в двух рядах массива заполнились 1.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.02.2013, 21:01
Ответы с готовыми решениями:

Индекс находился вне границ массива
Вот код for (int i = 0; i &lt; 48; i++ ) { color = img.GetPixel(x, y); ...

Индекс находился вне границ массива
Выдает ошибку &quot;Индекс находился вне границ массива.&quot; using System; using System.Collections.Generic; using System.Linq; using...

Индекс находился вне границ массива
Добрый вечер. Помогите, пожалуйста, с кодом. Нужно добавить в конец матрицы столбец. Выходит ошибка &quot;Индекс находится вне границ...

6
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
06.02.2013, 21:08
У вас i увеличивается бесконечно. i меньше чем i+2, разве не очевидно, что это будет верно всегда?
1
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
06.02.2013, 21:17  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
У вас i увеличивается бесконечно. i меньше чем i+2, разве не очевидно, что это будет верно всегда?
Спасибо, теперь очевидно.

Добавлено через 5 минут
А как реализовать такое сравнение наименьшим числом строк?
У меня один метод в зависимости от значения некой переменной ( f ) заполняет разные элементы массива по разным правилам. Есть ли возможность сделать проще чем определять дополнительные переменные для каждого правила ?
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
07.02.2013, 12:06
Создайте несколько методов( функций), которые заполняют матрицу разными способами. Ну и в зависимости от параметра f вызывайте тот или иной метод.
P.S. так же можете воспользоваться оператором switch.( если что гугл).
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
07.02.2013, 12:44
Цитата Сообщение от VoltDeMar Посмотреть сообщение

Мне нужно чтобы по две соседние ячейки находящиеся друг под другом в двух рядах массива заполнились 1.
Каждая из ячеек образует пару с выше- или ниженаходящейся ячейкой. потому по такому определению весь массив следует заполнить 1.
0
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
07.02.2013, 12:49  [ТС]
Цитата Сообщение от Learx Посмотреть сообщение
Каждая из ячеек образует пару с выше- или ниженаходящейся ячейкой. потому по такому определению весь массив следует заполнить 1.
Прошу прощения за неясность, но по две соседние ячейки в двух рядах, начиная с определённой и заканчивая "определённая" +2.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
07.02.2013, 13:25
C#
1
2
3
4
5
6
7
8
9
int currcell = 3; //наша определенная ячейка(её столбец)
 
//записываем в определенную ячейку и та, которая под ней(если ряд не последний)
// для определённой и заканчивая "определённая" +2. 
for (i = currcell ; i < currcell + 2 ; i++)
 {
      array[rownumber,0 ] = Convert.ToByte(1); //rownumber - ряд определенной ячейки
      if(rownumber<rowcount-1) array[rownumber+1, i] = Convert.ToByte(1); //тут нужна проверка чтоб не выскочить за массив
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.02.2013, 13:25
Помогаю со студенческими работами здесь

Индекс находился вне границ массива
Не понимаю в чем причина и как ее исправить Размерность массива зависит от файла using Ext.Net; using OpenXmlPowerTools; using...

Индекс находился вне границ массива
Visual Studio // выписываем полином txtPoly.Text = &quot;ỹ = &quot; + Math.Round(C, 3); for (int i = 1; i &lt;= 3;...

Индекс находился вне границ массива
&quot;Индекс находился вне границ массива&quot;, в чем ошибка? код C#: int kurs = 5; ...

Индекс находился вне границ массива
Выдает ошибку &quot; Индекс находился вне границ массива &quot;. Как это исправить?

Индекс находился вне границ массива
string s; string str; double det = 1; //определяем переменную EPS const double EPS = 1E-9; //размерность матрицы int n; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru