Задание. Составить блок-схему алгоритма и программу решения поставленной задачи обработки двумерного массива.
Пример. Заменить максимальный элемент матрицы A размерностью M х N суммой элементов, расположенных на периметре матрицы.
Блок-схема алгоритма:
Программа на языке Турбо Паскаль:
Program Pr6;
Var a: array [1..10, 1..10] of real;
i, j, M, N, imax, jmax: byte;
S: real;
Begin
Write(‘Ввод M, N’); Readln(M,N);
for i:=1 to M do
for j:=1 to N do begin
Write(‘Ввод A[’, i, j, ’] =’); Readln(a[i,j]);
end;
imax:= 1; jmax: = 1;
S: = 0;
for i:=1 to M do
for j:=1 to N do begin
if a[i,j] >= a[imax,jmax] then begin
imax:= i; jmax:= j; end;
if (i=0) Or (i=M) Or (j=1) Or (j=N) then
S:= S + a[i,j]
end;
writeln(‘A[‘, imax, jmax, ’]=’, a[imax, jmax]: 6: 2, ‘ S=’, S: 6: 2);
a[imax, jmax]: = S;
for i:=1 to M do begin
for j:=1 to N do
Write(‘A[’, i, j, ’] =’, a[i,j]: 6: 2, ‘ ‘);
writeln end;
End.
Варианты заданий.
1. Определить номера строки и столбца максимального отрицательного элемента прямоугольной матрицы А= (аi,j) M,N .
2. Найти среднее арифметическое значение элементов прямоугольной матрицы Х=(xi,j)7,3, находящихся на периметре этой матрицы.
3. Сформировать вектор D=(d1,d2,…dM), каждый элемент которого равен среднему арифметическому значений элементов строк матрицы С размерностью M ´ N.
4. В матрице А= (аi,j) M,М элементы главной диагонали заменить «1», если данный элемент больше последующих элементов соответствующей строки, и «0» - в противном случае.
5. Вычислить элементы вектора G=(g1,g2,…gM), как произведение отрицательных элементов соответствующих строк заданной матрицы А размерностью M ´ N.
6. Рассчитать элементы матрицы С=(сi,j)3,3, являющейся произведением матриц А=(ai,j)3,4 и В=(bi,j)4,3. Элементы матрицы С рассчитываются по формуле:
7. Подсчитать количество нулевых элементов матрицы размерностью M ´ N и напечатать их индексы. Первый по счету нулевой элемент заменить суммой положительных элементов.
8. Вычислить элементы матрицы Z размерностью 5´6 по элементам исходной матрицы Х=(хi,j)5,6. Главную диагональ оставить неизменной. zi,j=x2i,j .
9. Сформировать вектор В=(b1,b2…b7), каждый элемент которого определяется как минимальный элемент соответствующего столбца исходной матрицы А=(аi,j)6,7.
10. Преобразовать исходную матрицу А=(аi,j)5,7 так, чтобы последний элемент каждой строки был заменен суммой предыдущих элементов той же строки.
11. Преобразовать заданную матрицу В=(bi,j)4,6 таким образом, чтобы первый элемент каждого столбца был заменен произведением последующих элементов того же столбца.
12. Преобразовать матрицу С=(сi,j)8,8 так, чтобы все элементы расположенные ниже главной диагонали, были уменьшены вдвое, а элементы, расположенные выше главной диагонали – увеличены вдвое.
13. Определить количество и номера отрицательных элементов в матрице А размерностью 6´7. Последний по счету отрицательный элемент заменить суммой положительных элементов матрицы.
14. Найти отношение минимального элемента матрицы А=(аi,j)5,6 к максимальному элементу матрицы В=(bi,j)7,8.
15. В заданной матрице А=(аi,j) 4,5 найти нулевой элемент с наибольшим значением индекса i и все элементы столбца, в котором находится этот элемент, обнулить. Если в матрице нет нулевых элементов, отпечатать соответствующее сообщение.
16. Найти отношение количества положительных элементов к количеству элементов отрицательных заданной матрицы F. В случае, если матрица F не содержит отрицательных элементов, то все положительные элементы уменьшить на 1.
17. Для квадратной матрицы F=(fi,j)7,7 найти отношение суммы элементов, расположенных ниже главной диагонали, к сумме элементов, расположенных выше главной диагонали, предусмотрев соответствующее сообщение, если последняя сумма (делитель) окажется равной 0.
18. В заданной матрице В=(bij)6,7. Найти элемент bij <5 c наибольшим значением индекса j. Все элементы столбца, в котором находится искомый элемент (кроме него) сделать равными 1.
19. Получить матрицу-строку В, каждый элемент которой равен среднему геометрическому значений элементов соответствующей строки матрицы А размерностью 9´10.
20. Все элементы матрицы С=(cij)9,9, расположенные выше главной диагонали преобразовать, умножив их на минимальный элемент матрицы С.