Вмассиве целых чисел найти группу наименьшей длины, которая состоит из убывающей последовательности четных цифр написать код в с++
158
348
Ответы на вопрос:
#include < iostream> #include < ctime> 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 < 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 " < < 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 */
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
xxxxxxxxxxxxxxx22824.02.2021 00:40
-
baklenev10.07.2021 19:57
-
Ksenia235122.01.2023 11:07
-
kakhaeva0222.12.2020 17:10
-
daria383ver20.01.2022 18:09
-
Настя1803120.08.2022 16:14
-
Лиза5и6класс18.03.2021 06:02
-
dinok320.08.2021 19:01
-
lavrinenkoll31.05.2023 15:40
-
m20m31.10.2021 12:51
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.