Изменение значений некоторых элементов, удовлетворяющих заданному свойству
Задача. В массиве размерностью NxM к элементам четных столбцов прибавить элемент первого столбца соответствующей строки.
Procedure Izmenenie1(Var X : MyArray2; n, m : integer);
Var
i, j : integer;
Begin
for i := 1 to n do
for j := 1 to m div 2 do
Inc(X[i, 2*j], X[i, 1]);
End;
Вопрос. Какой смысл вложен в оператор цикла for j := 1 to m div 2 do?
Задача. Заменить все отрицательные элементы на противоположные.
Procedure Izmenenie2(Var X : MyArray2; n, m : integer);
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;
Заполнение массива по правилу
Задача. Заполнить массив А размером NxM "змейкой" следующим образом:
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Для того, чтобы заполнить, надо вывести правило заполнения, а оно в данном случае будет таким:
если ряд нечетный, то A[i, j]=(i-1)*m+j;
если ряд четный, то A[i, j]=i*m-j+1.
По этому правилу и составляем процедуру заполнения:
Procedure FillArray(Var X : MyArray2; n, m : integer);
Var
i, j : integer;
Begin
for i := 1 to n do
for j := 1 to m do
if i mod 2 =1
then
A[i, j]=(i-1)*m+j
else
X[i, j]=i*m-j+1;
End;
Задание. Вставьте в программу-шаблон рассмотренные подпрограммы и организуйте выбор одной из них через меню. Дополните подпрограммы, не содержащие пояснений, соответствующими комментариями. Сохраните файл на дискете. Листинг сдайте учителю для проверки.
Дата добавления: 2015-05-16; просмотров: 1199;