Упражнения на C: Найти следующие большие элементы в данном несортированном массиве
C Массив: упражнение 43 с раствором
Напишите программу на C для печати следующих больших элементов в данном несортированном массиве. Элементы, для которых не существует большего элемента, рассматривают следующий больший элемент как -1.
Иллюстрированная презентация:
Пример решения:
Код C:
#include <stdio.h>
void findNxtLrgElem (int *arr1, int arr1_size)
{
int nxtBgElem, i, j;
for(i = 0; i < arr1_size; i++)
{
for (j = i+1, nxtBgElem = -1; j < arr1_size; j++)
{
if (arr1[i] < arr1[j])
{
nxtBgElem = arr1[j];
break;
}
}
printf("Next bigger element of %d in the array is: %d\n", arr1[i], nxtBgElem);
}
}
void formBigElemArray (int *arr1, int arr1_size)
{
int nxtBgElem, i, j;
for(i = 0; i < arr1_size; i++)
{
for (j = i+1, nxtBgElem = -1; j < arr1_size; j++)
{
if (arr1[i] < arr1[j])
{
nxtBgElem = arr1[j];
break;
}
}
printf("%d ", nxtBgElem);
}
}
int main()
{
int i, arr1[]= {5, 3, 10, 9, 6, 13};
int ctr = sizeof(arr1) / sizeof(arr1[0]);
//------------- print original array ------------------
printf("The given array is : ");
for(i = 0; i < ctr; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
//-----------------------------------------------------
printf("\nNext Bigger Elements are:\n");
findNxtLrgElem(arr1, ctr);
printf("\nNext Bigger Elements Array:\n");
formBigElemArray(arr1, ctr);
return 0;
}
Пример вывода:
Данный массив: 5 3 10 9 6 13 Следующие большие элементы: Следующий больший элемент из 5 в массиве: 10 Следующий больший элемент из 3 в массиве: 10 Следующий больший элемент из 10 в массиве: 13 Следующий больший элемент из 9 в массиве: 13 Следующий больший элемент из 6 в массиве: 13 Следующий больший элемент из 13 в массиве: -1 Следующий большой массив элементов: 10 10 13 13 13 -1
Блок - схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Previous: написать программу на C, чтобы найти наименьший отсутствующий элемент из отсортированного массива.
Далее: Напишите программу на C, чтобы найти два повторяющихся элемента в данном массиве.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code