Поиск совпадений в массиве - C#

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

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

Добрый день. нужно реализовать алгоритм на c#. Вводим массив чисел, например: 1,5,4,6,2,12,16,3,8,...,6... На каждом шаге, программа проверяет совпало ли последнее введенное число с одним из предыдущих, т.е. когда мы ввели 6, компьютер увидит, что число 6 уже было и проверит, совпадает ли предпоследнее число с предыдущим перед ранее введенной 6, т.е. равно ли предпоследнее число 4, если не равно, то идем дальше. и так, пока последнее введенное и предпоследнее введенное числа совпадут с двумя подрядыдущими числами из ранее введенных. например, если предпоследнее число из выше указанных равно 4, то мы пишем "ура", а если не равно, то идем дальше. Ввели, допустим, 16, оно совпало с одним из ранее введенных. проверяем предыдущее. это 6. а в уже введенном массиве перед 16 идет 12, значит проверяем дальше. и так, пока 2 числа не повторятся. Сам алгоритм я понимаю, а вот записать его на C# не могу. Предполагаю, что сделать это можно с помощью while(), но не получается реализовать сам алгоритм. Помогите, пожалуйста, с написанием.

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

textual
Листинг программы
  1. List<int> intValues = new List<int>();
  2.             int curValue = 0, x;
  3.             while(true)
  4.             {
  5.                 Console.Write("\nВведите число: ");
  6.                 try{ curValue = Convert.ToInt32(Console.ReadLine()); }
  7.                 catch { break; }
  8.                 // Засекаем последнее вхождение "введенного" числа
  9.                 x = intValues.LastIndexOf(curValue);
  10.                 // Проверка что последнее вхождение "введенного" числа -
  11.                 // не первый элемент массива и в массиве как минимум 4 числа
  12.                 if ((x > 0) && (intValues.Count > 2))
  13.                     // Проверяем на равенство "предпоследние" числа двух "пар"
  14.                     if (intValues[x-1] == intValues[intValues.Count-1])
  15.                     {
  16.                         Console.WriteLine("Ура!");
  17.                     }
  18.                 // Не забываем внести в массив "введенное" число :)
  19.                 intValues.Add(curValue);
  20.             }

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


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

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

14   голосов , оценка 3.929 из 5

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

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

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