Читайте также:
|
|
Определить, является ли данный квадратный массив симметричным относительно своей главной диагонали.
Решение
Если он является симметричным, то для него выполняется равенство a[i, j] = a[i, j] для всех i = 1,...,n и j = 1,...,n при условии, что i>j. Поэтому можно составить следующую функцию:
Function Check2(x: dmyarray): Boolean;
Var i, j: Integer;
t: Boolean;
Begin
t:= True; {предположим, что матрица симметрична}
i:=2;
While t And (i<n) Do
Begin
j:=1;
While (j<i) And (x[i,j]=x[j,i]) Do Inc(j);
t:=(j=i);
Inc(i);
End;
Check2:=t;
End;
Таким образом, если встретится хотя бы одна такая пара, что соответствующие элементы не будут равны, то значение функции будет ложь(false)
Двумерный массив. Работа с элементами
Изменение значений некоторых элементов, удовлетворяющих заданному свойству
Решение таких задач похоже на решение для одномерных массивов.
Пример 8
В массиве размерностью n*m к элементам чётных столбцов прибавить элемент первого столбца соответствующей строки.
Procedure Substitation1(Var x: dmyarray);
Var i, j: Integer;
Begin
For i:=1 To n Do
For j: to m Div 2 Do {рассмотрим чётные столбцы матрицы}
Inc(x[i,2*j],x[i,1]);
End;
Пример 9
Заменить все отрицательные элементы на противоположные.
Procedure Substitation2(Var x: dmyarray);
Var i, j: Integer;
Begin
For i:=1 To n Do
For j:=1 To m Do
x[i,j]:=abs(x[i,j]);
End;
Заполнение двумерного массива по правилу.
Дата добавления: 2015-08-17; просмотров: 38 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Пример 5 | | | Пример 10 |