Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Osnovy_informatiki_-_11_Matritsy

.pdf
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
372.96 Кб
Скачать

Обработка элементов заданной строки.

Произведение ненулевых элементов в строке с номером k (1<=k<=n)

read(k);p:=1; for j:=1 to m do if A[k,j<>0 then

p:=p*A[k,j];

Обработка элементов заданного столбца.

Максимальное значение в столбце с номером r (1<=r<=m)

read(r); max:=A[1,r]; for i:=2 to m do

if A[1,r]>max then max:= A[1,r];

Обработка матрицы по строкам.

Найти сумму в каждой строке матрицы.

var sum: IArr; //для суммы элементов каждой строке

var s:integer;

for i:=1 to n do

begin

s:=0;

for j:=1 to m do

s:=s+A[i,j];

sum[I]:=s;

end;

Обработка матрицы по столбцам.

Найти столбец, в котором больше всего нулей.

var ncol,k,max:integer; max:=-1; ncol:=0;

for j:=1 to m do begin

k:=0;

for i:=1 to n do

if A[i,j]=0 then k:=k+1; if k>max then

begin

max:=k; ncol:=j; end

end;

Поиск заданного значения в матрице

var x, ncol, nrow : integer; var find : Boolean;

find := false; ncol:=1; nrow:=1; while not find and (nrow<=n) do begin

find:= A[nrow,ncol]=x;

if not find then inc(ncol); if ncol>m then begin

ncol:=1;

inc(nrow);

end

end

if find then writeln(” row= ”,nrow,” col= ”,ncol)

else writeln(”нет равных x”);

Удаление строки с номером k

for i:=k to n-1 do for j:=1 to m do A[i,j]:=A[i+1,j];

n:=n-1;

Удаление столбца с номером k

for j:=k to m-1 do

for i:=1 to n do

A[i,j]:=A[i,j+1];

m:=m-1;

Добавление строки

for i:=n+1 downto k+1 do for j:=1 to m do A[i,j]:=A[i-1,j];

n:=n+1;

for j=1 to m do A[k,j]:= 0;

Добавление столбца

for j:=m+1 downto k+1 do for i:=1 to n do A[i,j]:=A[i,j-1];

m:=m+1;

for i:=1 to n do A[i,k]:=0;

Обработка части квадратной матрицы (n=m)

Главная диагональ (i=j)

Проверить, что на главной диагонали нет нулей

r:=1;

while r<=n and (A[r,r]<>0) do r:=r+1;

if r>n then writeln(”yes”)

else writeln(”no”);

Обработка части квадратной матрицы (n=m)

Элементы выше главной диагонали (i [1,n-1], j>i, j<=n)

Среднее арифметическое

k:=0;

sr:=0;

for row:=1 to n-1 do for col:=row+1 to n begin

sr:= sr+A[row,col]; k:=k+1

end;

sr:=sr/k;

Обработка части квадратной матрицы (n=m)

Элементы ниже главной диагонали (j [2,n], i<j, i>=1)

var find : Boolean;

find := false; j:=2; i:=1; while not find and (j<=n) do begin

find:= A[i,j]<>0;

if not find then inc(i); if i=j then begin

i:=1;

inc(j);

end

end

if find then writeln(” нет ”) else writeln(”да”);

Транспонировать квадратную матрицу

var r:integer;

for i:= 1 to n-1 do for j:=i+1 to n do begin

r:=A[i, j];

A[i, j]:=A[j, i]; A[j, i]:=r

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]