- •3 Если в прямоугольной матрице все суммы элементов строк
- •5 Определить столбец прямоугольной матрицы с максимальной
- •7 Если к-й столбец прямоугольной матрицы имеет минимальную сумму элементов, определить сумму элементов столбцов до к-ого, иначе - сумму элементов столбцов после к-ого.
- •8 Если целочисленная квадратная матрица симметрична относително
- •9. Переставить в каждом столбце прямоугольной матрицы
- •13 Дана квадратная матрица. Увеличить все элементы строки с минимальной суммой элементов на среднее арифметическое элементов матрицы, лежащих выше главной диагонали.
- •14 Изменить заданную прямоугольную матрицу так, чтобы
- •20 В заданной прямоугольной матрице поставить на первое место
- •21(1) Для массива с из n элементов составить процедуру, которая находит m наименьших значений с1,с2…сn и т.Д.
5 Определить столбец прямоугольной матрицы с максимальной
суммой элементов и, если его номер больше заданного,
сформировать матрицу из стобцов исходной до найденного
столбца, иначе сформировать массив из элементов
заданного столбца.
program Z433_5;
uses Z433_5;
Var A,B:matr;
C:mass1;
S:mass2;
i,j,k,G:integer;
BEGIN
for i := 1 to n do
for j := 1 to m do
readln(A[i,j]);
readln(G);
Sum(A,s);
Maximum(S,k);
if k > G then
Begin
CreateMatr(A,k,B);
for i := 1 to n do
Begin
for j := 1 to k do
write(B[i,j]:5:3,' ');
writeln;
end;
end
else Begin
CreateMass(A,k,C);
for i := 1 to n do
writeln(C[i]:5:3);
end;
readln;
END.
Unit Z433_5;
interface
Const n = 3;
m = 4;
Type matr = array[1..n,1..m] of real;
mass1 = array[1..n] of real;
mass2 = array[1..m] of real;
procedure Sum(A:matr; Var S:mass2); {записывает в массив S суммы элементов столбцов матрицы A}
procedure Maximum(S:mass2; Var k:integer); {k - максимальный элемент массива S}
procedure CreateMatr(A:matr; k:integer; Var B:matr); {формирует матрицу из столбцов исходной до k-го}
procedure CreateMass(A:matr; k:integer; Var C:mass1); {формирует массив из элементов k-го столбца исходной матрицы}
implementation
procedure Sum(A:matr; Var S:mass2);
Var i,j:integer;
Begin
for j := 1 to m do
Begin
S[j] := 0;
for i := 1 to n do
S[j] := S[j] + A[i,j];
end;
end; {Sum}
procedure Maximum(S:mass2; Var k:integer);
Var i:integer;
max:real;
Begin
max := S[1];
k := 1;
for i := 2 to m do
if S[i] > max then
Begin
max := S[i];
k := i;
end;
end; {Maximum}
procedure CreateMatr(A:matr; k:integer; Var B:matr);
Var i,j:integer;
Begin
for i := 1 to n do
for j := 1 to k do
B[i,j] := A[i,j];
end; {CreateMatr}
procedure CreateMass(A:matr; k:integer; Var C:mass1);
Var i:integer;
Begin
for i := 1 to n do
C[i] := A[i,k];
end; {CreateMass}
END.
6 Если заданная квадратная целочисленная матрица является треугольной(элементы выше главной диагонали равны нулю),вычислить её среднее арифметическое, иначе определить, сколько элементов, лежащих выше главной диагонали, отличны от нуля.
program z433_6;
uses Z433_6;
Var A:matr;
i,j,k:integer;
s:real;
b:boolean;
BEGIN
for i := 1 to n do
for j := 1 to n do
readln(a[i,j]);
Triangle(A,k,b);
if b then
Begin
SrArifm(A,s);
writeln(s);
end
else writeln(k);
readln;
END.
Unit Z433_6;
interface
Const n = 3;
Type matr = array[1..n,1..n] of integer;
procedure SrArifm(A:matr; Var s:real); {s - среднее арифметическое матрицы A}
procedure Triangle(A:matr; Var k:integer; Var b:boolean);
{Если b = true, то матрица треугольная; k - число элементов выше главной диагонали, отличных от нуля}
implementation
procedure Triangle(A:matr; Var k:integer; Var b:boolean);
Var i,j:integer;
Begin
b := true;
k := 0;
for i := 1 to n do
for j := 1 to n do
if (j > i) and (A[i,j] <> 0) then
Begin
b := false;
k := k + 1;
end;
end; {Rect}
procedure SrArifm(A:matr; Var s:real);
Var i,j:integer;
Begin
s := 0;
for i := 1 to n do
for j := 1 to n do
s := s + A[i,j];
s := s / (n * n);
end; {SrArifm}
begin
END.