![]() |
| ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
О проекте
|
Тема: Вставка элементов в одномерный массив.Вставка одного элементаВставлять элемент можно до или после данного элемента, номер этого элемента можно вводить с клавиатуры или искать при определенных условиях. Пусть k - это номер элемента, после которого мы должны вставить элемент х. Тогда вставка осуществляется следующим образом:
Задача. Вставить число 100 после пятого элемента массива. Рассмотрим на конкретном примере. Пусть задан следующий одномерный массив из N (N=10) элементов: 3, -12, 5, 14, 27, -6, 1, -34, 10, -15. Надо вставить 100 после пятого элемента массива, т. е. должен получиться следующий массив: 3, -12, 5, 14, 27, 100, -6, 1, -34, 10, -15. Таким образом, в массиве стало 11 элементов, то есть массив надо определять на N+1 элемент:
Кроме того, в программе необходимо выводить массив два раза, сначала первые N элементов массива, а затем все N+1 элементы. Рассмотрите процедуру вставки Insert1(m, n, Mesto, Element), которой передаются:
Кроме того, сдвиг элементов будем начинать с последнего элемента.
Задание. На основе разобранной задачи вставьте число перед некоторым заданным элементом самостоятельно. Дополните программу необходимыми операторами и комментариями и добейтесь работоспособности программы. Покажите результат работы учителю для оценки. Вставка нескольких элементовЗадача. Вставить число после всех элементов массива, кратных трем. Первое, на что необходимо обратить внимание - это описание массива: на сколько элементов может увеличиться массив? Максимальное количество элементов, после которых будет вставлен новый элемент, совпадает с количеством элементов массива, так как может случиться, что все элементы массива отвечают заданному свойству. Поэтому массив может увеличиться в два раза, а значит, соответствующее ему описание будет следующим:
Второе. Если мы будем просматривать массив с начала и вставлять новый после элемента с заданным свойством, то номер последнего элемента каждый раз может меняться, кроме того, будет просматриваться и новый (вставленный) элемент и его необходимо будет пропускать, поэтому решение будет не очень эффективным. Лучше всего просматривать массив, начиная с конца, тогда вставляемый элемент мешать не будет. Кроме того, номер последнего элемента можно будет знать (если знать, сколько элементов вставлено на данный момент), при этом просмотр будет последовательным от N-го до 1-го.
Задание. Дополните программу необходимыми операторами и комментариями и добейтесь работоспособности программы. Покажите результат работы учителю для оценки. Задачи для самостоятельного решения
| ||||||||||||||||||||||||||||||||||||||||
Проект «Pascaler» лучший на ХI Всероссийской конференции молодых исследователей с международным участием «Шаг в будущее», Россия, Москва, 12 – 16 апреля 2004г.
|