Задача 6
Тема: Динамически распределяемая память. Часть 1.
С одномерным динамическим массивом, состоящим из n целочисленных элементов, произвести следующие операции:
1) вычислить сумму тех элементов, которые делятся либо на 2 либо на 3;
2) вычислить сумму чисел, которые больше, чем их правые соседи;
3) инвертировать порядок элементов массива, начиная после максимального элемента и до конца.
Инструкция пользователя.
Запустить командную строку (ПУСК – Все программы – Стандартные – Командная строка.
В командной строке необходимо перейти в каталог, где находиться программа. Для этого необходимо воспользоваться командой cd: “cd C:\Borland\politov\N6”, затем убедимся, что в каталоге находиться необходимая нам программа с помощью команды DIR, и запустим ее, написав ее имя.
Программа выводит на экран:
1) сумму тех элементов, которые делятся либо на 2 либо на 3;
2) сумму чисел, которые больше, чем их правые соседи;
3) инвертированный порядок элементов массива, начиная после максимального элемента и до конца.
Пользователю, при первом запросе необходимо ввести количество элементов массива, при втором запросе сами элементы массива.
Результат работы на рисунке 7.
Рисунок 7
Инструкция программиста.
Файл N6.cpp .
Функция sum23 вычисляет сумму тех элементов, которые делятся либо на 2 либо на 3. Параметры функции: адрес на начальный элемент массива, количество элементов данного массива. Возвращаемое значение: сумма тип long.
Функция sumBol вычисляет сумму чисел, которые больше, чем их правые соседи. Параметры функции: адрес на начальный элемент массива, количество элементов данного массива. Возвращаемое значение: сумма тип long.
Функция invert инвертирует порядок элементов массива, начиная после максимального элемента и до конца. Параметры функции: адрес на начальный элемент массива, количество элементов данного массива.
Функция ничего не возвращает, а изменяет исходный массив.
Код программы в приложении К.
Задача 3
Тема: Функции.
Делимость числа. Написать функцию, которая определяет делимость числа на первые 16 простых чисел. Делимость на каждое число записывается в соответствующий бит возвращаемого числа. Делимость на 2 – первый бит, на 3 – второй, на 5 – третий, на 7 – четвертый – и т.д. Например:
Если аргументом функции будет число 45 (5*5*3), то функция должна возвратить число 6 (00000110), так как 45 делится на 5 и на 3 и не делится ни на 2 и ни на 7 и не на другие простые множители.
Инструкция пользователя.
Запустить командную строку (ПУСК – Все программы – Стандартные – Командная строка. В командной строке необходимо перейти в каталог, где находиться программа. Для этого необходимо воспользоваться командой cd: “cd C:\Borland\politov\N3”, затем убедимся, что в каталоге находиться необходимая нам программа с помощью команды DIR, и запустим ее, написав ее имя. Программа выводит на экран число, соответствующее делимости введенного числа. Допустим, введено число 2, которое делится на 1 и 2, этим числам соответствуют биты 0 и 1. Программа установит эти биты в 1 и получим число в двоичной системе счисления «0000 0011», в десятичной системе счисления это число 3, которое будет выведено на экран. Пользователю, при первом запросе необходимо ввести число, которое будет проверяться на делимость.
Результат работы на рисунке 8.
Рисунок 8
Инструкция программиста.
Файл N3.cpp .Функция calc вычисляет делимость введенного числа на первые 16 чисел, путем установки битов в 1 (соответствие битов и делимости на число: 0 бит – число делится на 1, 1 бит – число делится на 2 и т.д.). Параметры функции: адрес введенного пользователем числа. Функция ничего не возвращает.
Код программы в приложении Л.