Постановка задачи: программа должна содержать функцию, которая получает в качестве параметров имя массива и его длину (или нескольких массивов, если этого требуют условия задачи) и выполняет необходимые действия. При решении не разрешается создавать или резервировать в программе дополнительную память, соизмеримую по размерам с объемом исходных данных. То есть, нельзя создавать дополнительные массивы, если это явно не оговорено в задаче.
Функция main
должна заполнить массив числами из файла. Для определения длины массива предусматривается два варианта: 1) по значению первого числа в файле, 2) непосредственным подсчетом количества чисел в файле. Результат также выводится в файл.
Задание: каждый элемент массива заменить на полусумму его соседних элементов (кроме первого и последнего).
вопросПравильный ответ:
- # Пусть n - переменная типа unsigned char. Укажите значение n после выполнения оператора n = ((127 >> 2) & (15 << 2));
- # Укажите, чему будет равно значение переменной n в результате выполнения следующего фрагмента программы: double *p = 1000; double *q = 2000; int n = q - p;
- # Пусть переменные a, p, q, n описаны следующим образом: double a[10]; double *p; const double *q; int n; Отметьте, какие из приведенных ниже операторов языка C/C++ корректны.
- # Оценить сверху время работы (т.е. количество выполнений тела цикла) алгоритма Евклида вычисления наибольшего общего делителя двух целых чисел: int gcd(int m, int n) { // дано: целые числа m, n, хотя бы одно отлично от нуля // надо: вычислить НОД пары (m, n) int a = m, b = n; while (b != 0) { // Invariant: НОД(a, b) == НОД(m, n) int r := a % b; // находим остаток от деления a на b a = b; b = r; // заменяем пару (a, b) на (b, r) } return a; // ответ = a }
- # Пусть целочисленный массив содержит элементы 10, 16, 12, 8, 11, 7, 5 в указанном порядке. Услове пирамиды нарушается только для элемента 10, стоящего в вершине пирамиды. Для исправления пирамиды выполняется процедура просеивания, при которой элемент 10 опускается на свое место. Каким будет содержимое массива после окончания этой процедуры?