Линейный поиск по массиву - C#

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

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

Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication5
  7. {
  8. class proba
  9. {
  10. static void Main()
  11. {
  12. int n, m, i, j, d;//инициализация
  13. Console.Write("Задайте количество элементов в массиве А: ");//задание размеров
  14. n = Convert.ToInt32(Console.ReadLine());
  15. Console.Write("Задайте количество элементов в массиве В: ");
  16. m = Convert.ToInt32(Console.ReadLine());
  17. int[] a = new int[n];//инициализация массивов
  18. int[] b = new int[m];
  19. int t1 = Environment.TickCount;//таймер
  20. Random Rnd = new Random();//рандомайзер
  21. int maxValue = 1000;
  22. for (i = 0; i < n; i++) a[i] = Rnd.Next(0, maxValue);//заполнение массивов
  23. for (i = 0; i < m; i++) b[i] = Rnd.Next(0, maxValue);
  24. Console.Write("Массив А: ");//вывод массивов
  25. for (i = 0; i < n; i++) Console.Write(a[i] + " ");
  26. Console.Write("\nМассив B: ");
  27. for (i = 0; i < m; i++) Console.Write(b[i] + " ");
  28.  
  29. for (i = 0; i < n; i++)//сортировка массива A
  30. {
  31. for (j = n - 1; j > i; j--)
  32. {
  33. if (a[j - 1] > a[j])
  34. {
  35. d = a[j - 1];
  36. a[j - 1] = a[j];
  37. a[j] = d;
  38. }
  39. }
  40. }
  41. for (i = 0; i < m; i++)//сортировка массива B
  42. {
  43. for (j = m - 1; j > i; j--)
  44. {
  45. if (b[j - 1] > b[j])
  46. {
  47. d = b[j - 1];
  48. b[j - 1] = b[j];
  49. b[j] = d;
  50. }
  51. }
  52. }
  53. Console.Write("\nМассив А после сортировки: ");//вывод отсортированных массивов
  54. for (i = 0; i < n; i++) Console.Write(a[i] + " ");
  55. Console.Write("\nМассив В после сортировки: ");
  56. for (i = 0; i < m; i++) Console.Write(b[i] + " ");
  57. int[] c = a.Intersect(b).Distinct().ToArray();//вывод индивидуальных элементов, которые присутствуют в обоих массивах в массив C
  58. Console.WriteLine(string.Join(" ", c));
  59. Console.Write("\nМассив C: ");//вывод массива C
  60. for (i = 0; i < m; i++) Console.Write(c[i] + " ");
  61. Console.WriteLine("Введите число для поиска: ");//линейный поиск
  62. int p = Convert.ToInt32(Console.ReadLine());
  63. int k = 0;
  64. int u = 1;
  65. int r;
  66. for (int i = 0; i < c.Length; i++)
  67. {
  68. r = k + u;
  69. k = u;
  70. u = r;
  71. Console.WriteLine(u);
  72. if (c[i] > c.Length - 1) { break; }
  73. if (p == c[i])
  74. {
  75. Console.WriteLine("Элемент есть");
  76. }
  77. Console.ReadKey(true);
  78. }
  79. }
  80. }
  81. }
Вот такой вот код. Но линейный поиск не работает - пишет, что переменную i нельзя определить в данной области. Как "починить"?

Решение задачи: «Линейный поиск по массиву»

textual
Листинг программы
  1. for (i = 0; i < c.Length; i++)

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


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

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

8   голосов , оценка 4 из 5

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

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

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