
- •1.Фундаментальные типы данных. Структуры
- •Демонстрационный пример
- •1.2. Задачи для самостоятельного решения
- •Фундаментальные типы данных. Объединения
- •2.1. Демонстрационный пример
- •А.Пуанкаре Приведем пример использования объединения: составить программу, выполняющую требуемые операции для заданной фигуры.
- •2.2. Задачи для самостоятельного решения
- •3.Ссылочные типы
- •3.1. Указатели и адреса
- •3.2. Адресная арифметика
- •3.3. Операции new и delete
- •3.4. Демонстрационные примеры Чтение и переработка являются ключевыми в программировании. Б.Керниган, ф.Плоджер
- •3.5. Задачи для самостоятельного решения
- •3.4. Дано описание переменных: int *p,*q; char *r;. Какие из следующих операторов неправильны и почему?
- •4. Линейные однонаправленные списки
- •4.1. Задачи для самостоятельного решения
- •Г.Остер. Задачник
- •Построение
- •Модификация
- •Предикаты
- •Подсчет
- •5. Ортогональные списочные структуры ("гирлянды" и "висюльки")
- •5.1. Фрагмент теории
- •5.2. Задачи для самостоятельного решения
- •6. Кольцевые списки на базе однонаправленных списков
- •6.1. Фрагмент теории
- •6.2.Задачи для самостоятельного решения
Предикаты
4.29. Предположим, что уже построен однонаправленный список, элементами которого являются символы. Написать программу, которая проверяет, упорядочен ли список по неубыванию (невозрастанию) кодов ASCII.
4.30. Предположим, что уже построен однонаправленный список, элементами которого являются символы. Написать программу, которая проверяет, встречается ли значение первого элемента еще раз в списке.
4.31. Предположим, что уже построены два однонаправленных списка, элементами которых являются целые числа. Написать функцию, которая определяет, является ли данный список "перевертышем" другого списка.
4.32. Предположим, что уже построены и заданы указателями P1 и P2 однонаправленные списки, элементами которых являются целые числа. Написать программу, которая проверяет эти списки на равенство.
4.33. Многочлен P(x) = an*xn + an-1*xn-1+...+ ao с целыми коэффициентами представьте в виде списка, причем, если ai =0, то соответствующее звено в список не включается. Описать функцию Equal(p,q), проверяющую на равенство многочлены p и q.
Подсчет
4.34. Разработать функцию для подсчета количества элементов в заданном линейном списке.
4.35. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются целые числа. Написать программу, которая находит минимальное значение элементов списка P и номер первого элемента с этим значением.
4.36. Предположим, что уже построен и задан указателем P однонаправленный список, элементами которого являются вещественные числа. Написать программу, которая находит среднее арифметическое элементов списка P.
4.37. Предположим, что уже построен однонаправленный список, элементами которого являются целые числа. Написать программу, которая находит сумму последнего и предпоследнего элементов списка L.
4.38. Предположим, что уже построен однонаправленный список, элементами которого являются строки. Написать программу, подсчитывающую количество строк в списке L, которые начинаются и оканчиваются одним и тем же символом.
4.39. Предположим, что уже построен однонаправленный список, элементами которого являются строки. Написать программу, подсчитывающую количество строк в списке L, которые начинаются с того же символа, что и следующая строка.
4.40. Предположим, что уже построен однонаправленный список, элементами которого являются строки. Написать программу, подсчитывающую количество строк в списке L, которые совпадают со строкой, находящейся в последнем звене списка.
4.41*. Составить программу для лексического анализа текста. Она должна для данного текстового файла T найти все различные слова и указать количество их повторений, а также номер первой строки, в которой они встречаются.
Указание. Различные слова хранить в списке из записей следующего вида:
слово длиной не более 15 символов;
число повторений данного слова;
указатель на номер строки;
указатель на следующее слово.
4.42. Многочлен P(x) = an*xn + an-1*xn-1+...+ ao с целыми коэффициентами представьте в виде списка, причем, если ai=0, то соответствующее звено в список не включается. Опишите функцию Value(p,x), вычисляющую значение многочлена p в целочисленной точке x.