Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ(Лек)МФ+ФГГиНД(2).docx
Скачиваний:
18
Добавлен:
11.04.2015
Размер:
617.66 Кб
Скачать

Особенности элементов одномерного массива

Рассмотрим одномерный массив . Элементыaiэтого массива имеют такиеособенности:

  1. Элементы положительные, если .

  2. Элементы отрицательные, если .

  3. Элементы нулевые, если .

  4. Элементы ненулевые, если .

  5. Элементы находятся в диапазоне от xдоy, еслии.

  6. Элементы не находятся в диапазоне от xдоy, еслиили.

  7. Элементы чётные, если .

  8. Элементы нечётные, если или.

  9. Элементы на чётных местах, если или.

  10. Элементы на нечётных местах, если или.

  11. Элементы кратны x, если.

  12. Элементы на местах, кратных x, если.

3.2. Двумерные массивы

Двумерный массив(матрица) – массив, элементы которого имеют два номера(номер строки номер столбца).

Индекс двумерного массива – порядковый номер строки или столбца в двумерном массиве.

Описание двумерного массивав разделе описания переменных (Var) на языке Pascalимеет вид:

Mas : array [ IMin .. IMax , JMin .. JMax ]ofT ;

где array– массив,of– из, Mas– имя массива,IMin– минимальное значение индекса строки, IMax– максимальное значение индекса строки,JMin– минимальное значение индекса столбца, JMax– максимальное значение индекса столбца,T– тип элементов.

Это означает, что переменная Mas является массивом, который может иметь индексы строк от IMin до IMax , индексы столбцов от JMin до JMax у элементов типа T .

Пример.

Var A : array [1..10,1..15] of real;

Это означает, что переменная A– массив, который может содержать от 1 до 10 строк, от 1 до 15 столбцов из элементов вещественного типа.

Доступ к элементу двумерного массивана языкеPascalимеет вид:

Mas[Ind1,Ind2]

где Mas– имя массива,Ind1– индекс строки,Ind2– индекс столбца.

Это означает доступ к элементу массива Mas , находящемуся в строке с индексом Ind1 и в столбце с индексом Ind2.

Пример.

A[1,1]

b[i,j]

Это означает элемент массива Aв 1-й строке и 1-м столбце, и т.д.

Задача 2.

Условие задачи. Дан двумерный массив A из m строк и n столбцов (m  10; n  15). Найти сумму положительных элементов в массиве A.

Блок-схема.

Программа.

Program z2;

Var

A:array[1..10,1..15] of real;

i,j,m,n:integer;

s:real;

Begin

read(m,n);

s:=0;

for i:=1 to m do

for j:=1 to n do

begin

read(A[i,j]);

if A[i,j]>0 then s:=s+A[i,j];

end;

writeln(s);

End.

Пусть A двумерный массив,mколичество строк, nколичество столбцов,iиндекс строки,jиндекс столбца.Рассмотрим следующие фрагменты программ.

Фрагменты вычисления характеристик двумерного массива

Рассмотрим фрагменты программ в таблице 3.

Таблица 3

Характеристика

Для всех элементов

Для части элементов

  1. Сумма

s

s:=0;

for i:=1 to m do

for j:=1 to n do

s:=s+A[i,j];

s:=0;

for i:=1 to m do

for j:=1 to n do

if A[i,j]>z then

s:=s+A[i,j];

  1. Количество

k

k:=m*n;

k:=0;

for i:=1 to m do

for j:=1 to n do

if A[i,j]>z then

k:=k+1;

  1. Произведение

p

p:=1;

for i:=1 to m do

for j:=1 to n do

p:=p*A[i,j];

p:=1;

for i:=1 to m do

for j:=1 to n do

if A[i,j]>z then

p:=p*A[i,j];

  1. Максимальное значение

max

max:=A[1,1];

for i:=1 to m do

for j:=1 to n do

if A[i,j]>max then

max:=A[i,j];

max:=-1E10;

for i:=1 to m do

for j:=1 to n do

if (A[i,j]>max) and (A[i,j]>z)

then max:=A[i,j];

  1. Минимальное значение

min

min:=A[1,1];

for i:=1 to m do

for j:=1 to n do

if A[i,j]<min then

min:=A[i,j];

min:=1E10;

for i:=1 to m do

for j:=1 to n do

if (A[i,j]<min) and (A[i,j]>z)

then min:=A[i,j];

  1. Среднее значение

sr

s:=0;

for i:=1 to m do

for j:=1 to n do

s:=s+A[i,j];

sr:=s/(m*n);

s:=0;

k:=0;

for i:=1 to m do

for j:=1 to n do

if A[i,j]>z then

begin

s:=s+A[i,j];

k:=k+1;

end;

sr:=s/k;