В следующем коде я пытаюсь распечатать позиции чисел под 0. Я могу получить сами цифры, напечатанные отлично, но не могу понять, как получить позиции для печати.Как найти положение элементов в 2D-массиве?
Он компилируется отлично, но когда я его запускаю, он распечатывает первое число, а затем падает.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Tutorial_3
{
class Q8FourByFiveArray
{
static void Main(string[] args)
{
int[,] numbers = new int[4, 5] { {1, -2, 6, -9, 8}, {-3, 4, -3, 6, 7}, {5, 6, -9, 0, -2}, {4, 5, -1, -7, 1}};
//search the array for numbers less than 0. Then print their positions
for (int r = 0; r < 4; r++)
{
for (int c = 0; c < 5; c++)
{
if (numbers[r, c] < 0)
{
Console.WriteLine(numbers.GetValue(r, c));
Console.WriteLine("Row: " + Array.IndexOf(numbers, r, c));
Console.WriteLine("Column: " + Array.IndexOf(numbers, c));
}
}
Console.WriteLine(" ");
}
}
}
}
Какое исключение вызывается, что приводит к его сбою? –
'r' и' c' - уже индексы элементов. Просто распечатайте его, а не используя 'Array.IndexOf' – pkuderov