.NET 4.x Исправить код двоичного поиска - C#

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

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

нужно подправить код что бы он заработал. на данный момент выдает одну ошибку: Ошибкe4Элемент "a" не существует в текущем контексте. Пробовал через int сделать не получается!
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication1
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. Random rnd = new Random();
  12. int[] mass = new int[100];
  13. for (int i = 0; i < mass.Length; i++)
  14. {
  15. mass[i] = rnd.Next();
  16. }
  17. int n;
  18. int x;
  19. /* Номер первого элемента в массиве */
  20. int first = 0;
  21. /* Номер элемента в массиве, СЛЕДУЮЩЕГО ЗА последним */
  22. int last = n;
  23. /* Если просматриваемый участок непустой, first < last */
  24. /* ВНИМАНИЕ! В отличие от более простого (first + last) / 2,
  25. * этот код устойчив к переполнениям.
  26. *
  27. * Если first и last беззнаковые, возможен код:
  28. * (unsigned)(first+last) >> 1.
  29. */
  30. int mid = first + (last - first) / 2;
  31. if (n == 0)
  32. {
  33. /* массив пуст */
  34. }
  35. else if (a[0] > x)
  36. {
  37. /* не найдено;
  38. * если вам надо вставить его со сдвигом - то в позицию 0
  39. */
  40. }
  41. else if (a[n - 1] < x)
  42. {
  43. /* не найдено;
  44. * если вам надо вставить его со сдвигом - то в позицию n
  45. */
  46. }
  47. while (first < last)
  48. {
  49. if (x <= a[mid])
  50. last = mid;
  51. else
  52. first = mid + 1;
  53. mid = first + (last - first) / 2;
  54. }
  55. /* Если условный оператор if (n == 0) и т.д. в начале опущен -
  56. * значит, тут раскомментировать!
  57. */
  58. if (/* last < n && */ a[last] == x)
  59. {
  60. /* Искомый элемент найден. last - искомый индекс */
  61. }
  62. else
  63. {
  64. /* Искомый элемент не найден. Но если вам вдруг надо его
  65. * вставить со сдвигом, то его место - last.
  66. */
  67. }
  68. }
  69. }
  70. }

Решение задачи: «.NET 4.x Исправить код двоичного поиска»

textual
Листинг программы
  1.             Console.WriteLine("Введите Х");
  2.             int x = Convert.ToInt32(Console.ReadLine());

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


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

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

7   голосов , оценка 4.143 из 5

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

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

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