33. Одномерный динамический массив (возврат)34. Одномерный динамический массив (выходной параметр)35. Структура — массив целых чисел
С++
Эта задача на отработку навыка работы с сырыми указателями, поэтому использовать ссылки или заворачивать указатели в структуры/классы нельзя.
Реализуйте функцию create создающую и инициализирующую одномерный динамический массив целых чисел. Функция должна удовлетворять требованиям:
0. Элементы созданного массива инициализируются арифметической прогрессией, при этом нулевой член массива равен начальному члену.Реализуйте функцию sort сортирующую одномерный массив целых чисел по возрастанию. Функция должна удовлетворять требованиям:
Реализуйте функцию print отображающую элементы одномерного массива на экран. Функция должна удовлетворять требованиям:
Используя созданные функции выполните следующие действия:
Python
По аналогии с заданием для С++ реализуйте 3 функции: create, sort, print. В последние две функции можно не передавать параметр - размер списка.
Используя созданные функции выполните следующие действия:
Формат ввода
Три целых числа, каждое на новой строке. Первое число в диапазоне , второе и третье .
Формат вывода
Отсортированный по возрастанию массив в формате: .
Пример 1
| Ввод | Вывод |
| 8 3 -4 | [-25, -21, -17, -13, -9, -5, -1, 3] |
Пример 2
| Ввод | Вывод |
| 8 3 0 | [3, 3, 3, 3, 3, 3, 3, 3] |
С++
Эта задача на отработку навыка работы с сырыми указателями, поэтому использовать ссылки или заворачивать указатели в структуры/классы нельзя.
Реализуйте функцию create создающую и инициализирующую одномерный динамический массив целых чисел. Функция должна удовлетворять требованиям:
Функция принимает 4 параметра:
create должна быть связана с созданным в ней массивом. Нужно придумать как.0. Элементы созданного массива инициализируются арифметической прогрессией, при этом нулевой член массива равен начальному члену.Функция ничего не возвращает.
Реализуйте функцию destroy освобождающую память занятую массивом. Функция должна удовлетворять требованиям:
nullptr. Если переменная изначально была nullptr, то функция ничего не делает.Используя созданные функции и функции sort и print из задания 33 выполните следующие действия:
Формат ввода
Три целых числа, каждое на новой строке. Первое число в диапазоне , второе и третье .
Формат вывода
Отсортированный по возрастанию массив в формате: .
Пример 1
| Ввод | Вывод |
| 8 3 -4 | [-25, -21, -17, -13, -9, -5, -1, 3] |
Пример 2
| Ввод | Вывод |
| 8 3 0 | [3, 3, 3, 3, 3, 3, 3, 3] |
С++
Дана структура вида:
xxxxxxxxxxstruct IntArray { int *data; int size;};data — массив целых чисел размером size.
Реализуйте набор функций, для работы с переменными типа IntArray.
Прототипы:
xxxxxxxxxx/** Создаёт динамический массив размера size и сохраняет его в поле data переменной arr. Поле size структуры arr становится равным параметру size */void create(IntArray* arr, int size);void create(IntArray& arr, int size);/** Возвращает элемент массива с индексом index, при этом проверяет выход за границы массива. Если index лежит за пределами массива, вывести сообщение об ошибке и прервать работу программы */int get(IntArray* arr, int index);int get(IntArray& arr, int index);/** Изменяет значение элемента массива с индексом index на значение параметра value, при этом проверяет выход за границы массива. Если index лежит за пределами массива, вывести сообщение об ошибке и прервать работу программы */void set(IntArray* arr, int index, int value);void set(IntArray& arr, int index, int value);/** Выводит на экран содержимое массива в формате: [1, 2, 3] */void print(IntArray* arr);void print(IntArray& arr);/** Изменяет размер массива с сохранением элементов. Если новый размер меньше, хвостовые элементы обрезаются, если больше, то дополнительные элементы инициализируются нулём */void resize(IntArray* arr, int newSize);void resize(IntArray& arr, int newSize);/** Освобождает память занятую массивом. Поле data становится равным nullptr, поле size становится равным нулю. Предусмотреть случай попытки удаления уже удалённого массива */void destroy(IntArray* arr);void destroy(IntArray& arr);Используя созданную вами структуру и набор функций выполните следующие действия:
IntArray ) размером 30 элементов;Формат ввода
Ввода нет.
Формат вывода
Согласно заданию.
Пример 1
| Ввод | Вывод |
| [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |