Ошибки при использовании массивов
При использовании массивов наиболее распространенной ошибкой является превышение индексом значения выражения верхней границы индекса указанной при объявлении массива. Если в качестве индекса используется константа и ее значение превышает верхнюю границу, то такая ошибка обнаруживается на этапе компиляции.
Если при обращении к элементу массива в качестве индекса используется переменная или выражение, то возможно возникновение ошибки времени выполнения программы (run time еггог).
В программы, в которых возможны ошибки времени выполнения вследствие неправильного ввода исходных данных, следует добавлять инструкции проверки вводимых данных.
Примеры программ с двумерными массивами.
Пример7_7.Ввод и вывод элементов двумерного массива.
Programprog8;
useswincrt;
Const
n=4;m=4;
Var
k:real;
i,j:integer;
a:array[1..n,1..m] ofinteger;
Begin
k:=20;
randomize;
fori:=1tondo
Begin
forj:=1tomdo
a[i,j]:= random(k);
End;
fori:=1tondo
Begin
for j:=1 to m do
Begin
write(' ',a[i,j]:2.1);
End;
writeln;
End;
End.
Пример7_8.вычисление суммы элементов двумерного массива.
Program prog9;
usesWincrt;
Const
n=4;
m=4;
Var
i,j:byte;
a:array[1..n,1..m]ofinteger;
s,k:byte;
Begin
k:=20;
s:=0;
randomize;
fori:=1tondo
Begin
forj:=1tomdo
a[i,j]:=random(k);
End;
fori:=1tondo
Begin
forj:=1tomdo
ifa[i,j]>0thens:=s+a[i,j];
End;
fori:=1tondo
Begin
forj:=1tomdo
Begin
write(' ',a[i,j]:2);
End;
writeln;
End;
write(s:2);
End.
Пример7_9.Суммирование матриц. Фрагмент программы, реализирующий суммирование:
fori:=1tondo
Begin
forj:=1tomdo
Begin
c[i,j]:=a[i,j]+b[i,j];
{Можно a[i,j]:=a[i,j]+b[i,j]}
End;
End;
Пример7_10.Умножение вектора на матрицу. Результатом будет двумерный массив.
Дата добавления: 2015-01-13; просмотров: 787;