Действия над элементами массивов
После объявления массива каждый его элемент можно обработать, указав идентификатор массива и индекс элемента в квадратных скобках. Рассмотрим типичные ситуации, возникающие при работе с массивами. Для этого опишем четыре одномерных массива: два (A и B) из элементов целочисленного типа, два (C и D) из элементов вещественного типа и два двумерных массива (V и W), содержащих элементы вещественного типа.
Var A, B: array[1..5] of integer;
C, D: array [1..10] of real;
V, W: array [1..4,1..4] of real;
Инициализация массива
Инициализация – это присваивание каждому элементу массива какого-либо (или одного и того же) значения типа. Например, A[1]:=0; A[2]:=0; ... A[5]:=0 или V[1,1]:=0; V[1,2]:=0; и т.д. Но при большом количестве элементов такой способ инициализации нерационален. Гораздо удобнее получить такой же результат, используя оператор FOR:
For I:=1 To 5 Do A[I]:= 0; | For I:=1 To 4 Do For J:=1 To 4 Do V[I,J]:=0; |
Ввод элементов массива
Паскаль не имеет средств ввода-вывода элементов массива сразу, поэтому ввод и вывод значений производится поэлементно. Чаще всего они вводятся с помощью оператора Read (Readln) с использованием оператора цикла For:
For I:=1 To M Do Begin W Writeln(‘Введите ’,I,’ элемент массива’); Read(A[I]); End; | For I:=1 To M Do Begin Writeln(‘Введите ’,I,’строку’); For J:=1 To N Do Read(V[I,J]); End; |
Вывод элементов массива
производится аналогично, но с использованием оператора Write (Writeln).
Writeln(‘Вывод массива A’); For I:=1 To M Do Write(A[I]:4:2,' ':2); Writeln; | Writeln(‘Вывод массива V’); For I:=1 To M Do Begin For J:=1 To N Do Write(V[I,J]:4:2,' ':2); Writeln; End; |
Копирование элементов из одного массива в другой
Для выполнения этого действия необходимо, чтобы массивы, участвующие в этой операции, были описаны одинаково. Например, В:=А; - верно, так как В и А имеют одинаковый тип компонент; А:=С; – неверно, т.к. С имеет компоненты типа real, а А – типа integer и массивы А и С разной длины). Или, используя цикл:
For I:=1 To M Do Begin B[I]:=A[I]; C[I]:=B[I] End; | For I:=1 To M Do For J:=1 To N Do W[I,J]:=V[I,J]; |
Поиск в массиве элементов, удовлетворяющих некоторым условиям
Пусть надо выяснить, сколько элементов в массивах С и W имеют нулевое значение.
K:=0; For I:=1 To M Do If C[I]=0 Then K:=K+1; | K:=0; For I:=1 To M Do For J:=1 To N Do If W[I,J]=0 Then K:=K+1; |
После выполнения цикла переменная К будет содержать количество элементов с нулевым значением.
Поиск минимального (максимального) элемента массива рассмотрим на примере поиска минимального элемента в одномерном массиве С и максимального – в двумерном массиве W.
Min:=C[1]; For I:=1 To M Do If C[I]<Min Then Min:=C[I]; | Max:=W[1,1]; For I:=1 To M Do For J:=1 To N Do If W[I,J]>Max Then Max:=W[I,J]; |
Дата добавления: 2019-02-07; просмотров: 435;