Линейный поиск по массиву - C#
Формулировка задачи:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApplication5
- {
- class proba
- {
- static void Main()
- {
- int n, m, i, j, d;//инициализация
- Console.Write("Задайте количество элементов в массиве А: ");//задание размеров
- n = Convert.ToInt32(Console.ReadLine());
- Console.Write("Задайте количество элементов в массиве В: ");
- m = Convert.ToInt32(Console.ReadLine());
- int[] a = new int[n];//инициализация массивов
- int[] b = new int[m];
- int t1 = Environment.TickCount;//таймер
- Random Rnd = new Random();//рандомайзер
- int maxValue = 1000;
- for (i = 0; i < n; i++) a[i] = Rnd.Next(0, maxValue);//заполнение массивов
- for (i = 0; i < m; i++) b[i] = Rnd.Next(0, maxValue);
- Console.Write("Массив А: ");//вывод массивов
- for (i = 0; i < n; i++) Console.Write(a[i] + " ");
- Console.Write("\nМассив B: ");
- for (i = 0; i < m; i++) Console.Write(b[i] + " ");
- for (i = 0; i < n; i++)//сортировка массива A
- {
- for (j = n - 1; j > i; j--)
- {
- if (a[j - 1] > a[j])
- {
- d = a[j - 1];
- a[j - 1] = a[j];
- a[j] = d;
- }
- }
- }
- for (i = 0; i < m; i++)//сортировка массива B
- {
- for (j = m - 1; j > i; j--)
- {
- if (b[j - 1] > b[j])
- {
- d = b[j - 1];
- b[j - 1] = b[j];
- b[j] = d;
- }
- }
- }
- Console.Write("\nМассив А после сортировки: ");//вывод отсортированных массивов
- for (i = 0; i < n; i++) Console.Write(a[i] + " ");
- Console.Write("\nМассив В после сортировки: ");
- for (i = 0; i < m; i++) Console.Write(b[i] + " ");
- int[] c = a.Intersect(b).Distinct().ToArray();//вывод индивидуальных элементов, которые присутствуют в обоих массивах в массив C
- Console.WriteLine(string.Join(" ", c));
- Console.Write("\nМассив C: ");//вывод массива C
- for (i = 0; i < m; i++) Console.Write(c[i] + " ");
- Console.WriteLine("Введите число для поиска: ");//линейный поиск
- int p = Convert.ToInt32(Console.ReadLine());
- int k = 0;
- int u = 1;
- int r;
- for (int i = 0; i < c.Length; i++)
- {
- r = k + u;
- k = u;
- u = r;
- Console.WriteLine(u);
- if (c[i] > c.Length - 1) { break; }
- if (p == c[i])
- {
- Console.WriteLine("Элемент есть");
- }
- Console.ReadKey(true);
- }
- }
- }
- }
Решение задачи: «Линейный поиск по массиву»
textual
Листинг программы
- for (i = 0; i < c.Length; i++)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д