Задача «Типизированные файлы»

Разработать программу для работы с типизированным файлом. Программа должна сделать следующее:

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

При перестановке найденного элемента в начало файла, элементы от первого до предшествующего найденному должны смещаться на одну позицию назад (к концу файла). При перестановке найденного элемента в конец файла, элементы от следующего после найденного до последнего должны смещаться на одну позицию вперёд (к началу файла). При перестановке найденного элемента в позицию после k-го элемента, элементы между найденным и k-м должны смещаться на одну позицию вперёд или назад в зависимости от взаимного расположения найденного и k-го элемента.

Имена файлов передаются через параметры программы.

Описание

Тип данных в файле Диапазон Условие Позиция
для перемещения
1. целые числа от -20 до +60 первый элемент, кратный 5 в конец файла
2. вещественные числа от -19,9 до +59,9 последний отрицательный элемент в конец файла
3. символы от а до я первая гласная буква в конец файла
4. целые числа от -100 до +100 последний чётный элемент в начало файла
5. вещественные числа от -99,9 до +99,9 первый положительный элемент в начало файла
6. символы от A до Z последний символ, больший D в начало файла
7. целые числа от -20 до +60 последний элемент, больший 15 после k-го элемента
8. вещественные числа от -19,9 до +59,9 последний элемент, больший 28,6 после k-го элемента
9. символы от #33 до #94 первый знак препинания после k-го элемента
10. целые числа от -150 до +150 последний элемент, модуль которого больше 100 в конец файла
11. вещественные числа от -19,9 до +19,9 последний элемент, модуль которого больше 10 в конец файла
12. символы от А до Я последний символ Д или Е в конец файла
13. целые числа от -15 до +25 последний нечётный элемент в начало файла
14. вещественные числа от -39,9 до +9,9 последний положительный элемент в начало файла
15. символы от a до z последний символ b или r в начало файла
16. целые числа от -20 до +50 первый элемент, попадающий в диапазон -10..+30 после k-го элемента
17. вещественные числа от -4,99 до +14,99 первый элемент, попадающий в диапазон -1,5..+8,6 после k-го элемента
18. символы от a до z последняя гласная буква после k-го элемента
19. целые числа от +10 до +1000 последний элемент, кратный 3 в конец файла
20. вещественные числа от -4,9 до +1,9 последний отрицательный элемент в конец файла
21. символы от #65 до #250 первый символ кириллицы в конец файла
22. целые числа от -30 до +50 первый элемент, больший 12 в начало файла
23. вещественные числа от -9,9 до +49,9 первый элемент, больший 27,8 в начало файла
24. символы от А до Я первый элемент, больший Ж в начало файла
25. целые числа от -100 до +100 последний элемент, попадающий в диапазон -15..+43 после k-го элемента
26. вещественные числа от -99,9 до +99,9 последний элемент, попадающий в диапазон -50,6..+71,2 после k-го элемента
27. символы от A до Z последний элемент, попадающий в диапазон F..Q после k-го элемента
28. целые числа от -20 до +50 первый нечётный элемент в конец файла
29. вещественные числа от -24,99 до +34,99 последний элемент, модуль которого больше 7 в конец файла
30. символы от a до z первый элемент, попадающий в диапазон d..n в конец файла
31. целые числа от -50 до +50 последний чётный элемент в начало файла
32. вещественные числа от -9,9 до +9,9 последний положительный элемент в начало файла
33. символы от A до Z последний символ, меньший F в начало файла
34. целые числа от -10 до +90 последний элемент, больший 15 после k-го элемента
35. вещественные числа от -59,9 до +89,9 последний элемент, больший -15,8 после k-го элемента
36. символы от #65 до #126 первый символ, отличный от буквы после k-го элемента