Читайте также:
|
|
Принципиальным отличием этих алгоритмов от алгоритмов обработки каждой строки или каждого столбца матрицы (п.п. 3.2.5.) является то, что в этом случае в циклах для обработки строк (столбцов) матрицы шаг изменения переменной цикла будет равен 2.
Рассмотрим следующую задачу: требуется найти и распечатать суммы элементов каждой четной строки матрицы А. В этом случае для задания цикла по строкам воспользуемся циклом ПОКА, который позволяет изменять переменную цикла с шагом 2 (рис.40).
i:=2;
While I<=N do
begin
S:=0;
for j: =1 to M do
S:=S+X[ i, j ];
writeln(‘S= ‘,S);
I:=I+2;
end;
Рис. 40
Аналогично найдем количество положительных элементов в каждом нечетном столбце (рис.41).
j:=1
While j<=M do
begin
k=0;
for I:=1 to N do
k::=k+1;
writeln(‘k= ‘,k);
j:=j+2;
Рис. 41 end;
В случае, если результаты обработки элементов четных или нечетных строк (столбцов) необходимо сохранить в одномерном массиве, то для нумерации элементов этого массива необходимо использовать дополнительную переменную. Для примера запишем в массив Y максимальные элементы каждой нечетной строки матрицы Х (рис.42).
Рис. 42
K:=0;{переменная для индексации элементов массива Y}
i:=1;
While I<=N do
begin
max:=X[I,1];
for j: =2 to M do
if X[I, j ] > max then
max:=X [ I, j ];
k:=k+1;
Y[k]:=max;
I:=I+2;
end;
writeln (‘Сформированный массив Y’);
For I:=1 to k do
Write(Y[i]);
Writeln;
Дата добавления: 2015-07-10; просмотров: 169 | Нарушение авторских прав