русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ДИНАМИЧЕСКИЕ УКАЗАТЕЛИ


Дата добавления: 2014-11-28; просмотров: 1175; Нарушение авторских прав


1. Сортировка двух массивов. Оба массива являются динамическими и располагаются с памяти только тогда, когда над ними производят действия (заполнение случайными числами, сортировка и вывод на экран). После того, как массив отсортирован, он удаляется из памяти.

2. Разработать программу для определения суммы элементов массива большой размерности (n≤10000, m≤10000, n×m≤50000), заполняя его:

a) Числами Фибоначчи (1, 1, 2, 3, 5, 8, 13, 21, …);

b) Простыми числами (2, 3, 5, 7, 11, 13, 17, …);

c) Степенями числа 2 (2, 4, 8, 16, 32, …);

d) Определяются как , где n=1, 2, 3, 4, …, 20.


ДИНАМИЧЕСКИЕ СТРУКТУРЫ

СПИСКИ

Приступая к решению задач этого раздела, следует вспомнить, что:

· для задания списка нужно определить тип элементов этого списка по следующему правилу:

TYPE ССЫЛКА = ^ЭЛЕМЕНТ

ЭЛЕМЕНТ = RECORD

ДАННЫЕ: ТИП;

АДРЕС: ССЫЛКА;

END;

· в зависимости от количества полей в адресной части и порядка связывания элементов различают однонаправленные и двунаправленные списки;

· Для размещения первого элемента направленного списка в памяти нужно выполнить следующие действия:

1. Разместить ссылку на первый элемент списка в памяти;

2. Присвоить значение полю данных;

3. Присвоить ссылке на следующий элемент списка значение NIL (пустой ссылки);

4. Присвоить ссылке на хвост списка ссылку на первый элемент списка. Это нужно, чтобы сохранить начало списка и при необходимости вернуться к нему.

· Для добавления нового элемента в конец направленного списка нужно выполнить следующие действия:

1. Разместить в памяти следующий элемент списка

2. Ссылке на хвост присвоить ссылку на следующий элемент

3. Присвоить значение полю данных

4. Присвоить ссылке на следующий элемент списка значение NIL (для контроля конца списка)



· Для добавления нового элемента в произвольное место направленного списка нужно выполнить следующие действия:

1. Разместить в памяти новый элемент списка;

2. В поле для данных этого элемента занести нужную информацию;

3. В поле ссылки на следующий элемент вставляемого элемента занести ссылку, взятую из одноименного поля элемента списка, за которым вставляется новый элемент;

4. В поле ссылки на следующий элемент списка, за которым вставляется новый элемент занести ссылку на вставляемый элемент.

 

ЗАДАЧИ

1. Составить программу, которая удаляет из списка L все отрицательные элементы.

2. Дан список, содержащий натуральные числа. Удалить те его элементы, которые кратны заданному числу k.

3. Дан список символов. Подсчитать количество вхождений в этот список букв ‘t’.

4. Составить программу, которая вставляет в список L новый элемент F за каждым вхождением элемента E.

5. Составить программу, которая удаляет из списка L все элементы E, если таковые имеются.

6. Составить программу, которая удаляет из списка L за каждым вхождением элемента E один элемент, если таковой имеется и он отличен от E.

7. Составить программу, которая проверяет, есть ли в списке L хотя бы два одинаковых элемента.

8. Составить программу, которая переносит в конец непустого списка L его первый элемент.

9. Составить программу, которая в списке L из каждой группы подряд идущих одинаковых элементов оставляет только один.

10. Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.

11. Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в один из списков L1 и L2, но в то же время не входят в другой.

12. Составить программу для упорядочения в порядке возрастания элементов однонаправленного списка.

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

14. Даны упорядоченные списки L1 и L2. Вставить элементы списка L2 список L1, не нарушая его упорядоченности.

15. Дан список вещественных чисел. Написать следующие функции:

а) проверки наличия в нем двух одинаковых элементов;

б) переноса в начало его последнего элемента;

в) переноса в конец его первого элемента;

г) вставки списка самого в себя вслед за первым вхождением числа x.

16. Даны два списка L1 и L2 вещественных чисел. Написать подпрограммы, возвращающие новый список L, включающий по одному разу числа, которые:

а) входят одновременно в оба списка;

б) входят хотя бы в один из списков;

в) входят в один из списков L1 и L2, но в то же время не входят в другой из них;

г) входят в список L1 , но не входят в список L2.

17. Дан список слов, среди которых есть пустые. Написать подпрограмму, выполняющую следующее действие:

а) перестановку первого и последнего непустых слов;

б) печать текста из первых букв непустых слов;

в) удаление из непустых слов первых букв;

г) определение количества слов в непустом списке, отличных от последнего.



<== предыдущая лекция | следующая лекция ==>
Напишите процедуру, которая удаляет из одномерного вещественного массива наибольшее значение. | ОЧЕРЕДИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.042 сек.