ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.02.2021
Просмотров: 725
Скачиваний: 1
Листинг программы, использующей очередь.
Program ………..;
Type ….{ описание типов для реализации очереди}
…….
Var N:integer;
HeadQueue: TQueue; // HeadQueue – указатели на очередь
FileName:string; // имя файла с данными
F:text; // файловая переменная
begin
InitQueue(HeadQueue); // инициализация очереди
Write(‘Введите имя файла с данными’);
Readln(FileName);
Assign(F,FileName); // связываем файловую переменную f с именем файла FileName
Reset(F); // открываем файл для чтения
While not Eof(F) do
begin
Read(F,N) ; // читаем из файла число в переменную N
If N>=0 then InQueue(HeadQueue,N) // помещаем число N в очередь
else Writeln(N); // иначе выводим на экран
end;
Close(f);
While not QueueIsEmpty(HeadQueue) do // пока очередь не пуст, будем извлекать
// данные и печатать на экране
begin
Writeln(OutQueue(HeadQueue));
end;
Readln;
end.
Задачи.
-
Реализовать функцию поиска элемента Е в односвязном списке L.
-
Реализовать процедуру обмена местами двух элементов списка SwapEtems(Pl, P2: PElem), где P1 и Р2 — указатели на элементы, путем переустановки ссылок в списке.
-
Подсчитать число максимальных элементов списка.
-
Найти среднее значение элементов списка.
-
Проверить, является ли список из целых чисел упорядоченным по возрастанию.
-
Исключить из списка элементы, содержащие заданное число.
-
В списке A хранится информация о людях (фамилия, имя, отчество, профессия). Имеется список В, содержащий перечень профессий. Удалить из списка А тех людей, чья профессия не указана в списке В.
-
Дан список штучных товаров, хранящихся на складе (наименование, цена). В списке могут присутствовать одинаковые товары. Необходимо:
-
составить прайс-лист на товары (список, содержащий перечень различных товаров и цен на них);
-
вычислить среднюю цену на каждый товар;
-
вывести перечень наименований товаров, чья цена ближе всего к средней.
-
Имеется N городов. Задан список пар городов (i,j), между которыми существует прямая дорога. Напечатать список городов, которые напрямую сообщаются с более чем тремя городами.
-
Дан список слов. Из каждой группы подряд идущих одинаковых слов оставить только одно.
-
Дан текстовый файл. Распечатать слова, имеющие максимальную длину.
-
Дан текстовый файл. Провести частотный анализ слов.
-
Дан текстовый файл с целыми числами. Распечатать сколько какое число встречается раз.
-
Дан список вещественных чисел. Проверить, упорядочены ли числа по убыванию.
-
Дан список вещественных чисел. Для каждого элемента списка напечатать число отрицательных элементов, следующих за ним.
-
Дан список вещественных чисел. Проверить, образуют ли числа, хранящиеся в списке арифметическую прогрессию.
-
Дан список вещественных чисел. Проверить, образуют ли числа, хранящиеся в списке геометрическую прогрессию.
-
Описать процедуру, которая вставляет в список, элементы которого упорядочены по неубыванию, новый элемент так, чтобы сохранялась упорядоченность.
-
Написать процедуру слияния двух упорядоченных списков из целых чисел в один упорядоченный список.
-
Даны два стека. Используя операции Извлечь, Занести и функцию ПустЛиСтек подсчитать общее число элементов в стеках. В качестве вспомогательных структур разрешается использование переменных целых типов. Алгоритм должен предусматривать восстановление исходного расположения элементов в стеках.
-
Распечатать возрастающие серии последовательности целых чисел в обратном порядке (серия — упорядоченная подпоследовательность максимальной длины).
-
Дан текстовый файл А. Переписать его содержимое в файл В, удалив при этом слова, длина которых меньше заданной.
-
Дан текстовый файл А. Переписать его содержимое в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания.
-
Даны две очереди X и Y, содержащие вещественные числа. Из каждой очереди одновременно извлекается по одному числу, х и у соответственно. Если х < у, то число (х + у) помещается в конец очереди X, иначе число (х–у) помещается в конец очереди Y. Необходимо определить число шагов, через которое одна из очередей станет пустой.
-
В текстовом файле записаны целые числа. Распечатать сначала положительные числа, а потом отрицательные (порядок следования должен остаться без изменения).
-
В текстовом файле записаны целые числа. Распечатать сначала положительные числа, а потом отрицательные (порядок следования должен стать обратным)
-
Проверить правильность расстановки скобок в арифметическом выражении с использованием стека. По правилам записи арифметических выражений первой должна закрываться последняя открывающая скобка, и число открывающих и закрывающих скобок должно совпадать. В выражениях используются круглые, квадратные и фигурные скобки. Предусмотреть ошибки: несоответствие скобок (a*k[d-l}) и непарные скобки (несоответствие числа открывающих и закрывающих)