Поиск элемента в не отсортированном массиве - C#
Формулировка задачи:
Здравствуйте. Необходимо написать программу, которая генерирует массив с помощью RND, а затем найти индекс елемента, который пользователь введёт с клавиатуры (Если честно - понятия не имею как организовать вывод сообщения о том, что число не найдено, из кода станет ясно почему). Основная проблема в том, что при запуске программы создаётся массив, а затем , когда пользователь вводит число, программа выводит индекс первого элемента, и выбрасывает ошибку о выходе за пределы массива.. вообщем вот код и скрин ошибки. Если кто в силах помочь - заранее спасибо))))
Ругается на
while (arr[i, j] != search)
static void Main(string[] args)
{
int row = 10;
int column = 10;
int search;
/////////////////////Create matrix///////////////////
int[,] arr = new int[row, column];
Random rnd = new Random();
for (int i = 0; i < row; ++i, Console.WriteLine(""))
for (int j = 0; j < column; ++j)
{
arr[i, j] = rnd.Next(0, 10);
Console.Write(arr[i, j] + " ");
}
///////////////////////Searching//////////////////////
Console.WriteLine("Enter a number whitch you want to search: ");
search = int.Parse(Console.ReadLine());
for (int i = 0; i < row; ++i, Console.WriteLine(""))
for (int j = 0; j < column; ++j)
{
arr[0, 0] = search;
while (arr[i, j] != search)
{
i -= 1;
j -= 1;
}
Console.Write("["+i.ToString()+",");
Console.Write(j.ToString()+"] ");
}
Console.ReadKey();
}Решение задачи: «Поиск элемента в не отсортированном массиве»
textual
Листинг программы
static void Main(string[] args)
{
int rows = 10;
int columns = 10;
int[,] arr = new int[rows, columns];
// Заполняем массив
Random rnd = new Random();
for (int j = 0; j < rows; j++)
for (int i = 0; i < columns; i++)
arr[j, i] = rnd.Next(0, 10);
// считываем число
int scanInt = Int32.Parse(Console.ReadLine());
// ищем
int indexI = -1;
int indexJ = -1;
for (int j = 0; j < rows; j++)
for (int i = 0; i < columns; i++)
if (arr[j,i] == scanInt)
{
indexI = i;
indexJ = j;
}
// выводим
if (indexI > -1)
Console.WriteLine("[{0}; {1}]", indexJ, indexI); // Форматная строка. Прочитайте про неё.
else
Console.WriteLine("Number not found");
}