-2
class Program
    {
        static void Main(string[] args)
        {
            int[,] myArr = new int[5, 5];

            Random ran = new Random();

            int height = myArr.GetLength(0);
            int width = myArr.GetLength(1);

            for (int i = 0; i < height; i++)
            {
                for (int j = 0; j < width; j++)
                {
                    myArr[i, j] = ran.Next(1, 15);
                    Console.Write("{0}\t", myArr[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            int min = 0;
            int[] b = new int[min];

            for (int i = 0; i < height; i++)
            {
                for (int j = 0; j <= i; j++)
                { 

                    min = myArr[i,j=i];
                    b[i] = min;
                    if(i!=0 && myArr[i, j = i]> myArr[i, (j = i) - 1])
                    {   
                        min = myArr[i, (j = i) - 1];
                        myArr[i, j = i] = myArr[i, (j = i) - 1];
                        myArr[i, (j = i) - 1] = min;
                    }
                    Console.Write("{0}\t", b[i]);   
                }
                Console.WriteLine();
            }

        }
    }
}

Помогите , пожалуйста, с решением задачи. Нужно вывести в отдельный массив минимальное значение ячейки в каждой строке до диагонали. Диагональ вывести получается, но при сортировке всегда выпадает исключение: выход за границы массива. Я новичок совсем, прошу не забрасывать тапками.

aepot
  • 49,560
  • 1
  • Отладка в помощь.....а ошибка говорит сама за себя по-моему.... в какой-то момент индекс превышает размер массива.. – Алексей Шиманский Jan 09 '22 at 14:03
  • Я вложила условие в самом внутреннем цикле, чтобы i не было =0 (чтобы не отнимать 1 от 0), указала, что i не должен выходить за диапазон возможных значений , но это не помогает... Пожалуйста, если возможно, ткните меня в ошибку конкретнее. – rinaorlova 132435k Jan 09 '22 at 15:06
  • чтобы корректно всё поправить - используйте отладку (см. в дубликате). чтобы понять в какой момент в каком фрагменте что не так.... конкретную цифру значение в любом случае вам нужно "подобрать", а не кому-то со стороны. – Алексей Шиманский Jan 09 '22 at 15:08
  • myArr[i,j=i] - что по-вашему делает j=i? И где вы научились такое писать? – aepot Jan 09 '22 at 18:01
  • Я как раз учусь писать буду рада комментарию,как лучше, если Вам будет не лень) – rinaorlova 132435k Jan 10 '22 at 19:56
  • Дело не в том, лучше или хуже, дело в том, что я вообще не понимаю смысл конструкции этой, вот и пытаюсь узнать, а что вы, собственно, хотели этим добиться? – aepot Jan 10 '22 at 20:33

1 Answers1

1

Здесь вы создаете массив из 0 элементов

int min = 0;
int[] b = new int[min];

А здесь вы пытаетесь в него что-то записать

b[i] = min;

Записать в массив из 0 элементов в принципе ничего невозможно, вне зависимости от значения i. Поэтому и исключение.

aepot
  • 49,560