/* 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 < numOfEl; i++) { if (mainArray[i] < mainArray[i - 1] && mainArray[i] % 2 == 0 && mainArray[i - 1] % 2 == 0) seqLenght++; else { if (seqLenght < minSeqLenght && seqLenght != 1) minSeqLenght = seqLenght, numEnd = i; seqLenght = 1; } }
/* Дополнительная проверка на случай, если минимальная последовательность * закончилась на последнем элементе массива */ if (seqLenght < minSeqLenght && seqLenght != 1) minSeqLenght = seqLenght, numEnd = numOfEl; if (minSeqLenght != numOfEl + 1) { cout << endl << endl << "Minimal sequence = " << minSeqLenght << endl << "Group: " << endl;
/* Вывод группы с минимальной длиной */ for (int i = numEnd - minSeqLenght; i < numEnd; i++) cout << mainArray[i] << "; "; } else cout << endl << endl << "There is no such sequence exists..." << 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 << "Input number of the elements: "; cin >> numOfEl;
/* Выделение памяти под массив */ if (numOfEl > 0) mainArray = new int[numOfEl]; else { cout << "Error! Number of the elements cannot be negative!"; return 0; }
/* Инициализация основного массива случайными значениями */ for (int i = 0; i < numOfEl; i++) mainArray[i] = rand() % 1000;
/* Инициализация основного массива пользовательскими значениями */ /* for (int i = 0; i < numOfEl; i++) cin >> mainArray[i]; */
/* Вывод массива */ for (int i = 0; i < numOfEl; i++) cout << mainArray[i] << "; ";
/// Поиск последовательности убывающих четных чисел /// MinSeqOfNum(mainArray, numOfEl);
system("pause"); return 0; } /* End of the 'main' function */
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку