Почему выдаёт ошибку "Индекс находился вне границ массива."
class Program
{
static void Main(string[] args)
{
int n;
Console.WriteLine("Задайте количество эл. в массиве");
n = int.Parse(Console.ReadLine());
int[,] a = new int[n, n];
Console.WriteLine("Задайте эл. массива ");
for (int i = 0; i < n; i++)
for (int k = 0; k < n; k++)
{
Console.Write("Задайте эл. a[" + i + "] :");
Console.Write("Задайте эл. a[" + k + "] :");
a[i, k] = int.Parse(Console.ReadLine());
}
Console.WriteLine("\nРезультатирующий массив:");
for (int i = 0; i < a.Length; i++)
for (int k = 0; i < a.Length; k++)
{
Console.Write("{0: 0}", a[i, k]);
}
Console.ReadKey();
}
}
Ответы (1 шт):
Автор решения: Alexander Petrov
→ Ссылка
a.Length - это суммарная длина массива по всем измерениям. То есть если вы ввели n = 3, то Length будет равно 9.
Вам нужно использовать GetLength
for (int i = 0; i < a.GetLength(0); i++)
for (int k = 0; k < a.GetLength(1); k++)
Да, и обратите внимание: во втором цикле у вас опечатка k = 0; i <.