Постановка задачи: программа должна содержать функцию, которая получает в качестве параметров имя массива и его длину (или нескольких массивов, если этого требуют условия задачи) и выполняет необходимые действия. При решении не разрешается создавать или резервировать в программе дополнительную память, соизмеримую по размерам с объемом исходных данных. То есть, нельзя создавать дополнительные массивы, если это явно не оговорено в задаче.
Функция main
должна заполнить массив числами из файла. Для определения длины массива предусматривается два варианта: 1) по значению первого числа в файле, 2) непосредственным подсчетом количества чисел в файле. Результат также выводится в файл.
Задание: определить какое число встречается в массиве целых чисел наибольшее количество раз.
вопросПравильный ответ:
- # Пусть a = a(x) - некоторое условие, зависящее только от значения переменной x. Укажите, чему может быть равно значение переменной y в результате выполнения следующего фрагмента программы: int x = 1; int y = 1; while (a(x)) { . . . if (y < 0) { x = 2; y = 10; } else { x = 1; y = 20; } }
- # К массиву a длины 30 применяется восходящая схема двунаправленного алгоритма сортировки слиянием с использованием дополнительной памяти. В процессе выполнения алгоритма многократно вызывается функция merge слияния двух упорядоченных массивов длины n и m. Каковы длины массивов, которые сливаются при самом последнем вызове функции merge?
- # Каков диапазон целочисленного типа short?
- # Пусть расположенный в статической памяти целочисленный массив a описан как static int a[] = { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5 }; Пусть в программе задана функция суммирования массива с прототипом int sum(const int *m, int n); где m - константный указатель на начало массива, n - число его элементов. Укажите, чему будет равно значение переменной s в результате выполнения следующего фрагмента программы: int s = sum(a+5, 3);
- # К целочисленному массиву применяется алгоритм сортировки кучей. Пусть после первого этапа алгоритма пирамида (бинарная куча) уже построена и массив содержит элементы 20, 17, 12, 2, 10, 4, 8 в указанном порядке. Затем выполняется второй этап сортировки. На его первом шаге начальный и конечный элементы массива меняются местами, от пирамиды отрезается правая нижняя ветка (т.е. последний элемент массива), затем элемент в вершине пирамиды просеивается, благодаря чему восстанавливается условие пирамиды. Каким будет содержимое массива по окончании этого шага?