В массиве целых чисел отыскать группу наименьшей длины, которая состоит из
В массиве целых чисел отыскать группу меньшей длины, которая состоит из убывающей последовательности четных цифр написать код в с++
Задать свой вопрос
Олег Шиголев
Из последовательности четных цифр либо чисел?
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 */
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 */
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Облако тегов