Таблицы прямого доступа - найти ошибку в коде - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте . Не могу понять , почему вылетает программа, с индексами проблемы :
  int[] arr = new int[] {1, 6, 8, 4, 9, 11, 66, 44, 2}; //массив
            //ищем максимальное число в массиве
            int max = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] > max)
                {
                    max = arr[i];  //макс.число
                }
            }
 
            //создаём таблицу прямого доступа размером max+1
            int[]table=new int[max++];
            //заполняем -1
            for (int i = 0; i < table.Length; i++)
            {
                table[i] = -1;
               
            }
            //в table по индексу arr записываем значение arr
           for (int i = 0; i < table.Length; i++)
            {
                table[arr[i]] =arr[i];

            }
Подскажите, пожалуйста , в чём проблема? Заранее спасибо!

Решение задачи: «Таблицы прямого доступа - найти ошибку в коде»

textual
Листинг программы
for (int i = 0; i < arr.Length; i++)
            {
                table[arr[i]] =arr[i];
       
 
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.4 из 5