В массиве целых чисел отыскать группу наименьшей длины, которая состоит из

В массиве целых чисел отыскать группу меньшей длины, которая состоит из убывающей последовательности четных цифр написать код в с++

Задать свой вопрос
Олег Шиголев
Из последовательности четных цифр либо чисел?
1 ответ
include lt;iostreamgt;
include lt;ctimegt;

using namespace std;

/* Searching of the minimal sequence of the even numbers. 
 * ARGUMENTS:
 *   - array of the numbers:
 *       int mainArray[];
 *   - number of elements in the array:
 *       int numOfEl;
 * RETURNS: None.
 */
void MinSeqOfNum(int mainArray[], int numOfEl)

  int
    minSeqLenght = numOfEl + 1, // минимальная длина последовательности
    seqLenght = 1,  // длина текущей последовательности
    numEnd = 0; // номер элемента, на котором кончается последовательность

  /* Цикл обработки массива */
  for (int i = 1; i lt; numOfEl; i++)
 
    if (mainArray[i] lt; mainArray[i - 1] amp;amp; mainArray[i] % 2 == 0 amp;amp; mainArray[i - 1] % 2 == 0)
      seqLenght++;
    else
   
      if (seqLenght lt; minSeqLenght amp;amp; seqLenght != 1)
        minSeqLenght = seqLenght, numEnd = i;
      seqLenght = 1;
   
 

  /* Дополнительная проверка на случай, если минимальная последовательность    * закончилась на последнем элементе массива */
  if (seqLenght lt; minSeqLenght amp;amp; seqLenght != 1)
    minSeqLenght = seqLenght, numEnd = numOfEl;
  if (minSeqLenght != numOfEl + 1)
 
    cout lt;lt; endl lt;lt; endl lt;lt; "Minimal sequence = " lt;lt; minSeqLenght lt;lt; endl lt;lt; "Group: " lt;lt; endl;

    /* Вывод группы с минимальной длиной */
    for (int i = numEnd - minSeqLenght; i lt; numEnd; i++)
      cout lt;lt; mainArray[i] lt;lt; "; ";
 
  else
    cout lt;lt; endl lt;lt; endl lt;lt; "There is no such sequence exists..." lt;lt; endl;
/* End of the 'MinSeqOfNum' function */

/* Main program function.
 * ARGUMENTS: None.
 * RETURNS:
 *   (int) errors level for operation system.
 */
int main()

  srand(time(0));
  int
    numOfEl,     // кол-во элементов в массиве
    *mainArray;    // основной массив

  /* Инициализация кол-ва частей массива */
  cout lt;lt; "Input number of the elements: ";
  cin gt;gt; numOfEl;

  /* Выделение памяти под массив */
  if (numOfEl gt; 0)
    mainArray = new int[numOfEl];
  else
 
    cout lt;lt; "Error! Number of the elements cannot be negative!";
    return 0;
 

  /* Инициализация главного массива случайными значениями */
  for (int i = 0; i lt; numOfEl; i++)
    mainArray[i] = rand() % 1000;

  /* Инициализация главного массива пользовательскими значениями */
  /*
    for (int i = 0; i lt; numOfEl; i++)
      cin gt;gt; mainArray[i];
  */

  /* Вывод массива */
  for (int i = 0; i lt; numOfEl; i++)
    cout lt;lt; mainArray[i] lt;lt; "; ";

  /// Поиск последовательности убывающих четных чисел ///   MinSeqOfNum(mainArray, numOfEl);

  system("pause");
  return 0;
/* End of the 'main' function */
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт