Найти в массиве и вывести значение наиболее часто встречающегося элемента
Для подсчета количества каких либо элементов массива использованы два вложенных цикла. Внешний цикл перебирает все элементы массива чисел. Если текущий элемент не равен пустому (не равен NULL), то значение этого элемента запоминается в переменной curel, а затем во внутреннем цикле происходит поочередное сравнение значений всех элементов массива со значением переменной curel. При обнаружении совпадения переменная curcount, отвечающая за количество вхождений текущего для внешнего цикла элемента, увеличивается на единицу, а значение текущего для внутреннего цикла элемента заменяется пустым значением (NULL). После того как внутренний цикл доходит до конца массива чисел он заканчивает свою работу, а значения переменных curel и curcount записываются в элемент массива записей с индексом xmasind, каждая запись которого имеет поля value и count. Затем xmasind увеличивается на единицу. Внешний цикл заканчивает свою работу, когда доходит до конца массива чисел. В результате работы этого фрагмента массив записей содержит информацию о том, какие элементы сколько раз встречались в исходном массиве, а значения всех элементов исходного массива равны NULL.
Далее с помощью цикла среди полей записей массива, содержащих количество элементов, находится максимум и в другом цикле производится сравнение количества каждого из элементов с найденным максимумом. Элементы со значением поля, отвечающего за количество, равным максимуму выводятся.