Лабораторная работа № 5 (динамические массивы)
Лабораторная работа выполняется в двух вариантах:
- Без использования vector
- С использованием vector и по возможности алгоритмов из модуля #include <algorithm>
- Тесты для одного из вариантов решения
Общее задание:
В данной лабораторной работе требуется разработать программу, выполняющие следующие действия:
1. Ввод размера массива
2. Выделения памяти под исходный массив
3. Ввод исходного массива
4. Вывод введенных массивов
5. Обработка массива (массивов) в соответствии с вариантом
6. Вывод получившихся массивов
7. Освобождение динамической памяти
Замечания:
1) все используемые массивы, как основные, так и вспомогательные, должны выделяться динамически.
2) Количество элементов в исходных массивов до 20 штук.
3) Элементами массивов являются целые числа.
5) После каждого изменения массивов новое состояние необходимо вывести на экран.
6) "Скопировать элементы" - элементы из исходного массива добавляются в результирующий массив.
7) "Перенести элементы" - элементы из исходного массива добавляются в результирующий массив, после чего удаляются из исходного.
Варианты задания
1. Ввести массив А. В массив В скопировать все элементы массива А имеющие четный индекс и четное значение. Массив В отсортировать по убыванию, используя модифицированный метод простого выбора.
2. Ввести массив А. В массив В перенести все элементы массива А имеющие четный индекс и нечетное значение. Массив В отсортировать по возрастанию, используя модифицированный метод простого выбора.
3. Ввести массив А. В массив В скопировать все элементы массива А, имеющие четный индекс, слева от которых расположены элементы с нечетным значением. Массив В отсортировать по возрастанию, используя метод парных перестановок.
4. Ввести массив А. В массив В перенести все элементы массива А, имеющие четный индекс, справа от которых расположены элементы с нечетным значением. Массив В отсортировать по убыванию, используя метод парных перестановок.
5. Ввести массив А. В массив В перенести все элементы массива А, имеющие нечетный индекс, справа от которых расположены элементы с нечетным значением, а слева - с четным. Массив В отсортировать по убыванию, используя метод парных перестановок.
6. Ввести массив А. В массив В перенести все элементы массива А, стоящие левее минимального элемента, и имеющие нечетный индекс. Массив В отсортировать по убыванию, используя метод шейкер-сортировки.
7. Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать по возрастанию, используя метод шейкер-сортировки.
8. Ввести массив А. В массив В перенести все элементы массива А, стоящие между минимальным и максимальным элементами. Массив В отсортировать по возрастанию, используя метод сортировки подсчетом.
9. Ввести массив А. В массив В перенести все элементы массива А, имеющие значение больше чем (min+max)/2, где min - значение минимального элемента массива, а max - значение максимального элемента массива. Массив В отсортировать по убыванию, используя метод сортировки подсчетом.
10. Ввести массив А. В массив В перенести все элементы массива А, имеющие значение меньше чем (min+max)/3, где min - значение минимального элемента массива, а max - значение максимального элемента массива. Массив В отсортировать по убыванию, используя сортировку методом вставок.
11. Ввести массивы А и В. В массив С скопировать те элементы, которые есть и в массиве А и в массиве В. Из массива В удалить все четные элементы. Массивы А, В и С отсортировать по возрастанию используя модифицированный метод простого выбора сортировки.
12. Ввести массивы А и В. В массив С скопировать те элементы, которые есть в массиве А, но которых нет в массиве В. Из массива А удалить все нечетные элементы. Массивы А, В и С отсортировать по убыванию используя модифицированный метод простого выбора сортировки.
13. Ввести массивы А и В. В массив С скопировать те элементы массива А, которых нет в массиве В, и те элементы массива В, которых нет в массиве А. Из массива В удалить все четные элементы. Массивы А, В и С отсортировать по возрастанию используя сортировку методом парных перестановок .
14. Ввести массивы А и В. В массив С скопировать те элементы массива А, которых нет в массиве В, и те элементы массива В, которые встречаются в массиве А по крайней мере 2 раза. Из массива А удалить все элементы стоящие левее минимального элемента. Массивы А, В и С отсортировать по убыванию используя сортировку методом парных перестановок .
15. Ввести массивы А и В. В массив С скопировать те элементы массива А, которые встречаются в массиве В по крайней мере 2 раза, и те элементы массива В, которые встречаются в массиве А ровно 1 раз. Из массива А удалить все элементы стоящие левее максимального элемента. Массивы А, В и С отсортировать по убыванию используя сортировку методом всплывающего пузырька.
16. Ввести массивы А и В. В массив С перенести те элементы массива А, которые меньше минимального элемента массива В, и те элементы массива В, которые больше максимального элемента массива А. Массивы А, В и С отсортировать по возрастанию используя сортировку методом всплывающего пузырька.
17. Ввести массивы А и В. В массив С перенести те элементы массива А, которые больше минимального элемента массива В, и те элементы массива В, которые больше максимального элемента массива А. Массивы А, В и С отсортировать по возрастанию используя метод шейкер-сортировки.
18. Ввести массивы А и В. В массив С перенести те элементы массива А, которые больше максимального элемента массива В, и те элементы массива В, которые меньше максимального элемента массива А. Массивы А, В и С отсортировать по убыванию используя метод шейкер-сортировки.
19. Ввести массивы А и В. В массив С перенести четные элементы массива А, и нечетные элементы массива В. Массивы А, В и С отсортировать по убыванию используя сортировку методом Шелла.
20. Ввести массивы А и В. В массив С перенести те четные элементы массива А, левее которых стоят элементы с нечетным значением. Также в массив С перенести элемент массива В, который по значению ближе всех к (min+max)/2, где min - значение минимального элемента массива В, max - значение максимального элемента массива В. Массивы А, В и С отсортировать по возрастанию используя сортировку методом Шелла.
21. Ввести массивы А, В и С. В массив D скопировать те элементы массивов А, В и С, которые встречаются во всех трех массивах. Массивы А, В, С и D отсортировать по возрастанию используя сортировку методом квадратичной выборки.
22. Ввести массивы А, В и С. В массив D скопировать те элементы массивов А и В, которых нет в массиве С. Массивы А, В, С и D отсортировать по убыванию используя сортировку с помощью дерева.
23. Ввести массивы А, В и С. В массив D перенести из массива А те элементы, левее которых расположены элементы, имеющие значение больше (minB+maxC)/3, где minB - значение минимального элемента массива B, а maxC - значение максимального элемента массива С. Массивы А, В, С и D отсортировать по возрастанию используя сортировку методом Шелла.
24. Ввести массивы А, В и С. В массив D перенести из массива А те элементы, правее которых расположены элементы, имеющие значение меньше чем (minB+maxC)/2, где minB - значение минимального элемента массива B, а maxC - значение максимального элемента массива С. Массивы А, В, С и D отсортировать по возрастанию используя сортировку с помощью дерева.
25. Ввести массивы А, В и С. В массив D перенести из массива А те элементы, правее которых расположены элементы, имеющие значение меньше чем (minB+maxC)/2, где minB - значение минимального элемента массива B, а maxC - значение максимального элемента массива С. Из массива С удалить те элементы, которые имеют значение больше максимального элемента массива В. Массивы А, В, С и D отсортировать по убыванию используя сортировку подсчетом.