Лабораторная работа № 5 (динамические массивы)

Лабораторная работа выполняется в двух вариантах:

    1. Без использования vector
    2. С использованием vector и по возможности алгоритмов из модуля #include <algorithm>
    3. Тесты для одного из вариантов решения

Общее задание:

В данной лабораторной работе требуется разработать программу, выполняющие следующие действия:

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 отсортировать по убыванию используя сортировку подсчетом.


Наши рекомендации