В прямоугольной таблице В из n строк и m столбцов требуется поменять местами две строки. При решении этой задачи можно воспользоваться алгоритмом обмена значениями двух переменных из программы сортировки (пример Е14). Для этого достаточно организовать цикл по переменной столбца и, используя промежуточную переменную, менять местами каждую пару элементов, стоящих в одном столбце. При заданных номерах строк К и L решение выглядит так: 118
program E19;
const n = 3; m = 4;
var b: array [ 1 .. n, 1 .. m ] of real; c: real; i, j, K, L: integer;
Begin
write('введите номера меняемых местами строк таблицы');
i, ib,
readln(К, L);
{ввод таблицы}
fori: = 1 to n do
Begin
writeln(i, '-я строка таблицы');
forj: = 1 to m do
read (b [ i, j ])
end;
{перестановка строк}
forj: = 1 to m do
Begin
c:= b[K,j];
b [ K, j ]: = b [ L, j ];
b [ L, j ]: = с
end;
{печать результатов}
writeln;
writeln('таблица с переставленными строками: ');
fori: = 1 to n do
Begin
for j: = 1 to m do
write (b [ i, j ]);
Writeln
End
End.
Задания
1. В квадратной таблице, не содержащей отрицательных элементов, найдите корень квадратный из произведения диагональных элементов.
2. Найдите наибольший элемент квадратной таблицы.
3. Найдите наименьший элемент квадратной таблицы и замените его нулем.
4. В прямоугольной таблице замените все элементы их квадратами.
5. В целочисленной прямоугольной таблице увеличьте на 0,5 все отрицательные элементы.
6. В квадратной таблице найдите наибольший элемент диагонали.
7. Поменяйте местами первую и последнюю строки прямоугольной таблицы.
8. Найдите произведения элементов строк прямоугольной таблицы.