Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вставка нескольких элементов



Задача. Вставить число после всех элементов массива, кратных трем.

Первое, на что необходимо обратить внимание - это описание массива: на сколько элементов может увеличиться массив? Максимальное количество элементов, после которых будет вставлен новый элемент, совпадает с количеством элементов массива, так как может случиться, что все элементы массива отвечают заданному свойству. Поэтому массив может увеличиться в два раза, а значит, соответствующее ему описание будет следующим:

Type MyArray[1..2*n] of Integer;

Второе. Если мы будем просматривать массив с начала и вставлять новый после элемента с заданным свойством, то номер последнего элемента каждый раз может меняться, кроме того, будет просматриваться и новый (вставленный) элемент и его необходимо будет пропускать, поэтому решение будет не очень эффективным. Лучше всего просматривать массив, начиная с конца, тогда вставляемый элемент мешать не будет. Кроме того, номер последнего элемента можно будет знать (если знать, сколько элементов вставлено на данный момент), при этом просмотр будет последовательным от N-го до 1-го.

Program VstavkaN; Const n=10; dd=51; Type MyArray = Array [1..2*n] of Integer; Var A: MyArray; k, x, i: Integer; Procedure InsertMas1(Var m: MyArray; n: integer);... Procedure InsertMas2(Var m: MyArray; n: integer);... Procedure PrintMas(m: MyArray; n: integer);... Procedure InsertN(Var m: MyArray; Var n: integer; Mesto, Element: Integer;); Var i: Integer; Begin for i:= n downto Mesto+1 do m[i+1]:= m[i]; m[Mesto+1]:= Element; Inc[n]; End; Begin... Writeln('Вставляемое число > '); Readln(x); k:=0; for i:=n downto 1 do if A[i] mod 3=0 then InsertN(A, n, i, x);... End.

Задание. Дополните программу необходимыми операторами и комментариями и добейтесь работоспособности программы. Покажите результат работы учителю для оценки.





Дата публикования: 2015-10-09; Прочитано: 311 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.117 с)...