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

32
25 мая 2019, 04:40
int[] max = new int[m];
for (int i = 0; i < n; i++)
{
     for (int j = 0; j < m; j++)
     {
         max[m] = max[m] + C[i, j];
     }
 }
 Console.WriteLine($"max = {max[m]}");

Ошибку выдает на строчке: max[m] = max[m] + C[i, j].

В чем ошибка и как исправить?

Answer 1

У вас массив имеет размеры m:

int[] max = new int[m];

По умолчанию индексация ведется с нуля, т.е. ваш массив имеет ячейки с индексами 0, 1, 2, ..., m-2, m-1.

Вы же пытаетесь обратиться к ячейке с индексом mmax[m], ее не существует, отсюда ошибка.

READ ALSO
PictureBox находится над другим PictureBox

PictureBox находится над другим PictureBox

пишу программку, мне нужно, чтобы когда PictureBox1, именуемый "Player", наезжает на определенные картинки PictureBox2-15, именуемые как eat1-14, они пропадалиВот,...

34
Должен ли DTO содержать аннотации данных?

Должен ли DTO содержать аннотации данных?

Имеется приложение ASPNet Core 2

23
&ldquo;Занять&rdquo; файл на время

“Занять” файл на время

Разрабатываю приложение, которое участвует в цепочке перемещения файловТо есть: как только в папке 1 появляется файл, мое приложение его...

49
Глобальный хук клавиш

Глобальный хук клавиш

По какой-то причине хук обрабатывается, но ничего не происходит, приложение просто напросто закрывается без каких-либо ошибок

20