Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания (вариант b).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
921.6 Кб
Скачать

5.7. Сортировка массивов

Дан массив чисел произвольной длины. Отсортировать массив заданными методами:

  1. сортировкой вставками и обменом;

  2. сортировкой выбором и вставками;

  3. сортировкой выбором и обменом;

  4. сортировкой простыми и бинарными вставками;

  5. быстрой сортировкой и сортировкой вставками;

  6. быстрой сортировкой и сортировкой обменами;

  7. быстрой сортировкой и сортировкой выбором;

  8. быстрой сортировкой и сортировкой бинарными вставками;

  9. сортировкой бинарными вставками и сортировкой обменами;

  10. сортировкой бинарными вставками и сортировкой выбором;

  11. сортировкой вставками и быстрой сортировкой;

  12. сортировкой простыми и бинарными вставками.

Для тестирования программы заполнять массив значениями тремя способами: по возрастанию, по убыванию, случайным образом.

Каждый метод сортировки, каждый способ заполнения массивов оформить отдельными функциями. Функции оформить в виде отдельного файла.

Для каждого метода сортировки определить число сравнений и перемещений (перестановок с одного места на другое) элементов в процессе выполнения программы.

Сравнить экспериментальные результаты с известными теоретическими оценками этих показателей для заданных методов сортировки.

5.8. Сортировка слиянием

Дан массив чисел произвольной длины. Отсортировать массив используя сортировку слияниями.

Создать шаблоны функций для сортировок, заполнения массивов, вывода результатов. Сравнение элементов массива оформить отдельной функцией. Перегрузить функцию сравнения элементов для массива С-строк.

Выполнить сортировки массивов для данных разных типов: целых, вещественных, символьных, С- строк, используя написанные функции.

5.9. Перебор с возвратом

Написать функции для выполнения следующих заданий.

  1. Получить все расстановки восьми ладей на шахматной доске, при которых ни одна ладья не угрожает другой.

  2. Задача о восьми слонах: на шахматной доске расставить восемь слонов так, чтобы каждое поле находилось под ударом одного из них.

  3. Дано натуральное число m. Получить m расстановок восьми ферзей на шахматной доске, при которых ни один из ферзей не угрожает другому. Если m больше общего числа таких расстановок, то получить все расстановки.

  4. Найти расстановку пяти ферзей на шахматной доске, при которой каждое поле будет находиться под ударом одного из них.

  5. На одной из клеток шахматной доски стоит конь. Требуется выполнить обход конем шахматной доски. Ни одну из клеток конь не может проходить дважды, но каждой клетке он обязан побывать. Выдать сообщение, если обхода не существует.

  6. Найти расстановку двенадцати коней на шахматной доске, при которой каждое поле будет находиться под ударом одного из них.

6. Файлы

6.1. Файлы чисел

Выполнить задания для текстового и бинарного файлов.

        1. Компоненты файла f – вещественные числа. Определить и вывести на экран порядковый номер того из них, которое наиболее близко к соответственному целому числу.

  1. Компоненты файла f – целые (отличные от нуля) числа: х, y1, ... yn. Вывести на экран два члена этой последовательности, среднее арифметическое которых ближе всего к х.

  2. Компоненты файла f – вещественные числа. Записать в файл g наибольшее значение первых десяти компонент, затем следующих десяти и т. д.

  3. Компоненты файла f – целые числа. Получить файл g из чисел исходного файла, в котором записаны сначала все положительные числа, затем все отрицательные.

  4. Компоненты файла f – целые числа, положительных чисел столько же, сколько отрицательных. Получить файл g из чисел исходного файла, в котором не было бы двух соседних чисел с одинаковым знаком.

  5. Компоненты файла f – целые числа, причем положительных чисел столько же, сколько отрицательных. Получить файл g из чисел исходного файла, в котором записаны 2 положитель­ных числа, затем 2 отрицательных и т. д.

  6. Компоненты файла f – целые числа, четных чисел столько же, сколько нечетных. Получить файл g из чисел исходного файла, в котором не было бы двух соседних чисел одинаковой четности.

  7. Компоненты файла f – целые числа, причем четных чисел столько же, сколько нечетных. Получить файл g из чисел исходного файла, в котором записаны 2 четных числа, затем 2 нечетных т. д.

  8. Компоненты файла f – целые числа, причем десять идущих подряд положительных чисел чередуются с десятью отрицательными числами и т. д. Получить файл g из чисел исходного файла, в котором записано сначала пять положительных чисел, затем пять отрицательных и т.д.

  9. Компоненты файла f – целые   числа, причем десять идущих подряд положительных чисел чередуются с десятью отрицательными числами и т. д. Получить файл g из чисел исходного файла, в котором записано сначала двадцать положительных чисел, затем двадцать отрицательных и т. д.

  10. Компоненты файла f – целые числа. Получить файл g из чисел исходного файла, в котором записаны сначала все отрицательные числа, затем все нули, затем все положительные числа.

  11. Компоненты файла f – целые числа. Получить файл g из чисел исходного файла, в котором записаны сначала все четные положительные числа, затем все четные отрицательные, затем нечетные положительные, затем нечетные отрицательные.