Линейный поиск по массиву - 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++)