Поиск элемента в не отсортированном массиве - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Необходимо написать программу, которая генерирует массив с помощью RND, а затем найти индекс елемента, который пользователь введёт с клавиатуры (Если честно - понятия не имею как организовать вывод сообщения о том, что число не найдено, из кода станет ясно почему). Основная проблема в том, что при запуске программы создаётся массив, а затем , когда пользователь вводит число, программа выводит индекс первого элемента, и выбрасывает ошибку о выходе за пределы массива.. вообщем вот код и скрин ошибки. Если кто в силах помочь - заранее спасибо)))) Ругается на
Листинг программы
  1. while (arr[i, j] != search)
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. int row = 10;
  4. int column = 10;
  5. int search;
  6. /////////////////////Create matrix///////////////////
  7. int[,] arr = new int[row, column];
  8. Random rnd = new Random();
  9. for (int i = 0; i < row; ++i, Console.WriteLine(""))
  10. for (int j = 0; j < column; ++j)
  11. {
  12. arr[i, j] = rnd.Next(0, 10);
  13. Console.Write(arr[i, j] + " ");
  14. }
  15. ///////////////////////Searching//////////////////////
  16. Console.WriteLine("Enter a number whitch you want to search: ");
  17. search = int.Parse(Console.ReadLine());
  18. for (int i = 0; i < row; ++i, Console.WriteLine(""))
  19. for (int j = 0; j < column; ++j)
  20. {
  21. arr[0, 0] = search;
  22. while (arr[i, j] != search)
  23. {
  24. i -= 1;
  25. j -= 1;
  26. }
  27. Console.Write("["+i.ToString()+",");
  28. Console.Write(j.ToString()+"] ");
  29.  
  30. }
  31.  
  32. Console.ReadKey();
  33. }

Решение задачи: «Поиск элемента в не отсортированном массиве»

textual
Листинг программы
  1.         static void Main(string[] args)
  2.         {
  3.             int rows = 10;
  4.             int columns = 10;
  5.             int[,] arr = new int[rows, columns];
  6.  
  7.             // Заполняем массив
  8.             Random rnd = new Random();
  9.             for (int j = 0; j < rows; j++)
  10.                 for (int i = 0; i < columns; i++)
  11.                     arr[j, i] = rnd.Next(0, 10);
  12.  
  13.             // считываем число
  14.             int scanInt = Int32.Parse(Console.ReadLine());
  15.  
  16.             // ищем
  17.             int indexI = -1;
  18.             int indexJ = -1;
  19.             for (int j = 0; j < rows; j++)
  20.                 for (int i = 0; i < columns; i++)
  21.                     if (arr[j,i] == scanInt)
  22.                     {
  23.                         indexI = i;
  24.                         indexJ = j;
  25.                     }
  26.  
  27.             // выводим
  28.             if (indexI > -1)
  29.                 Console.WriteLine("[{0}; {1}]", indexJ, indexI); // Форматная строка. Прочитайте про неё.
  30.             else
  31.                 Console.WriteLine("Number not found");
  32.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы