Вообще не могу понять откуда берется исключение - C#
Формулировка задачи:
Необработанное исключение типа "System.IndexOutOfRangeException" произошло в ConsoleProject.exe
Дополнительные сведения: Индекс находился вне границ массива.
class Program { static void Main(string[] args) { Random rand = new Random(); int aRows, bRows, aColumns, bColumn; while (true) { try { Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Введите количество строк первой матрицы"); aRows = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите количество столбцов первой матрицы"); aColumns = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите количество строк второй матрицы"); bRows = Convert.ToInt32(Console.ReadLine()); if (aColumns != bRows) { Console.Clear(); Console.WriteLine("Начинаем занова"); continue; } Console.WriteLine("Введите количество столбцов второй матрицы"); bColumn = Convert.ToInt32(Console.ReadLine()); break; } catch { Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Используйте только цифры"); } } Matrix firstM = new Matrix(aRows, aColumns); Matrix secondM = new Matrix(bRows, bColumn); Matrix thirdM = new Matrix(aRows, bColumn); for (int i = 0; i < aRows; i++) { for (int j = 0; j < aColumns; i++) firstM[i, j] = rand.Next(100); } for (int i = 0; i < bRows; i++) { for (int j = 0; j < bColumn; i++) secondM[i, j] = rand.Next(100); } firstM.Show(); secondM.Show(); } } class Matrix { int[,] matrix; int row, column; public int Row { get { return row; } set { if (value > 0) row = value; } } public int Column { get { return column; } set { if (value > 0) column = value; } } public int this[int i, int j] { get { return matrix[i, j]; } set { matrix[i, j] = value; } } public Matrix(int _row, int _column) { Row = _row; Column = _column; matrix = new int[Row, Column]; } public void Show() { for (int i = 0; i < this.row; i++) { for (int j = 0; j < this.column; j++) Console.Write("{0,5}",this.matrix[i,j]); Console.WriteLine(); } Console.WriteLine(); Console.ReadLine(); } }
Решение задачи: «Вообще не могу понять откуда берется исключение»
textual
Листинг программы
for (int i = 0; i < (aRows-1); i++) { for (int j = 0; j < (aColumns-1); i++) firstM[i, j] = rand.Next(100); } for (int i = 0; i < (bRows-1); i++) { for (int j = 0; j < (bColumn-1);i++) secondM[i, j] = rand.Next(100);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д