Задачи для самостоятельного решения
Вставка элементов в одномерный массив. Вставка одного элемента Вставлять элемент можно до или после данного элемента, номер этого элемента можно вводить с клавиатуры или искать при определенных условиях. Пусть 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), которой передаются: m - массив, в котором делаем преобразования; Кроме того, сдвиг элементов будем начинать с последнего элемента.
Задание. На основе разобранной задачи вставьте число перед некоторым заданным элементом самостоятельно. Дополните программу необходимыми операторами и комментариями и добейтесь работоспособности программы. Покажите результат работы учителю для оценки. Вставка нескольких элементов Задача. Вставить число после всех элементов массива, кратных трем. Первое, на что необходимо обратить внимание - это описание массива: на сколько элементов может увеличиться массив? Максимальное количество элементов, после которых будет вставлен новый элемент, совпадает с количеством элементов массива, так как может случиться, что все элементы массива отвечают заданному свойству. Поэтому массив может увеличиться в два раза, а значит, соответствующее ему описание будет следующим:
Второе. Если мы будем просматривать массив с начала и вставлять новый после элемента с заданным свойством, то номер последнего элемента каждый раз может меняться, кроме того, будет просматриваться и новый (вставленный) элемент и его необходимо будет пропускать, поэтому решение будет не очень эффективным. Лучше всего просматривать массив, начиная с конца, тогда вставляемый элемент мешать не будет. Кроме того, номер последнего элемента можно будет знать (если знать, сколько элементов вставлено на данный момент), при этом просмотр будет последовательным от N-го до 1-го.
Задание. Дополните программу необходимыми операторами и комментариями и добейтесь работоспособности программы. Покажите результат работы учителю для оценки. Задачи для самостоятельного решения
Перестановка двух элементов Задача. Поменять местами два элемента массива с номерами k1 и k2. Рассмотрите процедуру, с помощью которой эта задача легко решается.
Перестановка части массива Задача. Дан одномерный массив А, состоящий из 2n элементов. Поменять местами первую и вторую его половины Задание. Оформите решение этой задачи, применив процедуру обмена значений Obmen2, рассмотренную выше. Заметим лишь, что Вы должны поменять местами элементы с номерами 1 и n+1, 2 и n+2 и т.д., последняя пара - n и 2n, а значит, обмен происходит по правилу: элемент с номером i меняется местами с элементом с номером n+i. Эту закономерность следует применить в организации обращения к процедуре обмена. Например, так
Задание. Выберите с учителем задачи для самостоятельного решения из предложенного списка:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|