Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачи на С.doc
Скачиваний:
5
Добавлен:
04.06.2015
Размер:
264.7 Кб
Скачать

Задачи на тему «динамические структуры»

Вариант 1. Сформировать файл из реальных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все числа, меньшие а, затем все числа из отрезка [a, b], и наконец – все остальные числа, сохраняя исходный порядок в каждой из этих групп чисел.

Вариант 2. Используя стек, напечатать содержимое текстового файла, выписывая символы каждой его строки в обратном порядке.

Вариант 3. Сформировать файл из символов и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все символы, отличные от цифр, а затем все цифры, сохраняя исходный порядок в каждой из этих групп символов.

Вариант 4. В текстовом файле записана без ошибок формула вида: цифра или М(формула, формула) или m(формула, формула), где М – обозначает функцию max, m – min. Вычислить значение данной формулы (например, M(5,m(6,8))=6).

Вариант 5. Сформировать файл из символов и с помощью очереди за один просмотр файла напечатать сначала все гласные буквы, затем знаки препинания и наконец - все согласные, сохраняя исходный порядок в каждой из этих групп символов.

Вариант 6. В текстовом файле записана без ошибок формула вида: цифра или R(формула, формула) или L(формула, формула), где R – обозначает функцию взять правое число, L – взять левое число. Вычислить значение данной формулы (например, R(8,R(3,L(4,5)))=4).

Вариант 7. Сформировать файл из натуральных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все однозначные числа, затем двузначные, сохраняя исходный порядок чисел в каждой из этих групп.

Вариант 8. В текстовом файле записан текст, сбалансированный по круглым скобкам. Написать программу, которая для каждой пары, соответствующей открывающей и закрывающей скобок, печатает номера их позиций в тексте, упорядочив пары номеров в порядке возрастания номеров позиций закрывающих скобок. Например, для текста A+(45–F(x)*(B–C)) надо напечатать: 8, 10; 12, 16; 3, 17.

Вариант 9. Сформировать файл из натуральных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все числа, большие b, затем числа из отрезка [a, b], сохраняя исходный порядок каждой из этих групп чисел.

Вариант 10. В текстовом файле записана без ошибок формула вида: цифра или S(формула, формула) или P(формула, формула), где S(a,b)=(a+b) mod 10, P(a,b)=(a*b) mod 10. Вычислить значение данной формулы (например, P(6,S(8,4))=2).

Вариант 11. Сформировать файл из символов и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все символы, отличные от знаков препинания и цифр, затем все знаки препинания и, наконец – все цифры, сохраняя исходный порядок в каждой из этих групп символов.

Вариант 12. В текстовом файле записана без ошибок формула вида: цифра или m(формула, формула) или p(формула, формула), где m(a,b)=(a–b) mod 10, p(a,b)=(a+b) mod 10. Вычислить значение данной формулы (например, m(9,p(p(3,5),m(3,8)))=6).

Вариант 13. Сформировать файл из натуральных чисел и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все числа, делящиеся на 5, затем все нечетные числа, не делящиеся на 5, и, наконец – все четные числа, не делящиеся на 5, сохраняя исходный порядок в каждой из этих групп чисел.

Вариант 14. Сформировать файл из натуральных чисел и за один просмотр файла напечатать его элементы в следующем порядке: сначала все однозначные числа, затем все двузначные. Первая группа чисел выводится в исходном порядке, вторая – в обратном (например, 2,15,7,24,37,8 –> 2,7,8,37,24,15).

Вариант 15. Сформировать файл из символов и за один просмотр файла напечатать его элементы в следующем порядке: сначала все знаки препинания в исходном порядке, затем все согласные в обратном порядке и, наконец – гласные в исходном порядке.

Вариант 16. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, увеличивающую все ключи дерева на число k.

Вариант 17. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу вычисления суммы всех листьев дерева.

Вариант 18. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, определяющую количество вершин k-го уровня дерева.

Вариант 19. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, проверяющую равенство деревьев T1 и T2.

Вариант 20. Дан текстовый файл, состоящий из n целых чисел. Создать двоичное дерево, состоящее из его компонент и составить программу, вычисляющую разность максимального и минимального ключей дерева.