Инвертировать массив С

Требуется изменить порядок следования элементов массива С, состоящего из n элементов, на обратный, используя одну вспомогательную переменную.

Сначала необходимо поменять местами первый и последний элементы, используя вспомогательную переменную Р. Для этого перешлем ai в Р (Р=а1), затем в а1 перешлем an (a1=an) и далее значение а1, которое находится в Р, перешлем в an (an=P). Также поступим с элементами a2 и an-1, т.е. вторым и предпоследним, и т.д. пока не дойдем до середины массива. Последними элементами, которые нужно поменять местами, будет an/2 и an/2+1, если n – четное число, и a[n/2] и a[n/2+2], если n – нечетное, т.е. цикл по I в общем случае можно организовать от I=1 до [n/2].

Используемые переменные:

Исходные данные:

C– массив размером С

N – количество элементов в массиве

Результат:

С - инвертированный исходный массив

Вспомогательные переменные:

P – промежуточная (вспомогательная) переменная

I – индекс элемента массива

Программный код:

FOR I:= 1 TO N/2 DO begin P:= C[I]; C[I]:= C[N-I+1]; C[N-I+1]:= P; end;

8) Формирование массива В из элементов массива А, удовлетворяющих заданному условию (Ai > T)

Требуется из данного массива А, состоящего из n элементов, выбрать эле­менты, удовлетворяющие данному условию (для конкретности, условию Ai>T), и сформировать из них массив В.

Особенностью решения этой задачи является то, что индексы элементов масси­вов А и В не совпадают, т.к. не все элементы массива А включаются в массив В. Следовательно, для обозначения индекса элементов массива В нужно предусмот­реть другую переменную (К), значения которой будем изменять на 1 перед занесе­нием в массив В нового значения. До входа в цикл нужно присвоить переменной К значения ноль (К=0)

Используемые переменные:

Исходные данные:

A – исходный массив размером N

Т – заданное значение для проверки условия включения элемента массива А в массив В

N – количество элементов в исходном массиве

Результат:

В – массив размером не больше N

К – количество элементов в массиве В

Вспомогательные переменные:

I – индекс элементов массива А

Схема алгоритма изображена на рис.8.

Программный код:

K:= 0;

FOR I:= 1 TO N DO IF A[I] > T THEN begin K:= K + 1; B[K]:= A[I]; end;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: