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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.9. *** Сортировка массивов

Выполнить задание 5.8. используя метод сортировки слияниями.

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

      2. сортировкой слияниями и сортировкой выбором;

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

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

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

6. Файлы

6.1. Использование структур для битового представления чисел

Написать функцию для вывода на экран битового представления в ЭВМ числа в заданном формате. Выполнить задание двумя способами: через объединение (union) и через структуру с битовыми полями. Сравнить результаты.

  1. bool

  2. char

  3. long

  4. short

  5. int

  6. float

  7. double

  8. void *

  9. unsigned long

  10. unsigned short

  11. unsigned int

  12. int *

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

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

        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 из чисел исходного файла, в котором записаны сначала все четные положительные числа, затем все четные отрицательные, затем нечетные положительные, затем нечетные отрицательные.