Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы Алгоритм и Програм.doc
Скачиваний:
5
Добавлен:
14.09.2019
Размер:
407.04 Кб
Скачать

Программа

Program Prim16;

Var

i, j, n : integer;

A : array [1..10,1..10] of real;

B, C : array [1..10] of real;

begin

writeln (' введите n');

readln (n);

writeln (' введите матрицу A');

for i:=1 to n do

for j:=1 to n do

read (a[i,j]);

for i:=1 to n do

if (i mod 2)=0 then b[i]:=1/(i*i+2)

else b[i]:=1/i;

for i:=1 to n do

begin c[i]:=0;

for j:=1 to n do

c[i]:=c[i]+b[j]*a[i,j];

end;

writeln (' вывод C');

for i:=1 to n do

writeln (c[i]:5:2);

end.

Исходные данные: Результат:

Размерность матрицы A:

n=3

Матрица A: Вектор C:

2.3.2. Обработка двумерных массивов (матриц)

2.3.2.1. Вычисление суммы и количества элементов массива

Пример 17. Найти количество отрицательных элементов матрицы А(m,n), удовлетворяющих условию aij>-4.5 (m=3, n=4).

Программа Схема алгоритма

Program Prim17;

var

a : array[1..10,1..10] of real;

i,j,m,n,k : integer;

begin

writeln('Введите m, n');

readln(m,n);

writeln('Введите матрицу');

for i:=1 to m do

for j:=1 to n do

read(a[i,j]);

k:=0;

for i:=1 to m do

for j:=1 to n do

if (a[i,j]<0) and (a[i,j]>-4.5) then k:=k+1;

writeln('k=', k)

end.

Исходные данные: Результат:

m = 3; n = 4 k=3

Матрица A

  1. 4 -5 6

-1 3 -2 7

9 -3 5 8

Пример 18. Найти сумму элементов главной и побочной диагоналeй матрицы С(m,m), (m=4).

Указание.

Нужно учитывать, что элементы главной диагонали матрицы C имеют вид cii; побочной – сi,(n+1)-i , следовательно, для обработки элементов главной и побочной диагоналей матрицы нужно использовать один цикл с параметром i.

Программа Схема алгоритма

Program Prim18;

var

c:array[1..10,1..10] of real;

i,j,m : integer;

s1, s2 : real;

begin

writeln('Введите m');

readln(m);

writeln('Введите матрицу');

for i:=1 to m do

for j:=1 to m do

read(c[i,j]);

s1:=0; s2:=0;

for i:=1 to m do

begin

s1:=s1+c[i,i];

s2:=s2+c[i,(n+1-i)];

end;

writeln('s1=', s1:6:2, 's2=', s2:6:2);

end.

Исходные данные: Результат:

m = 4 S1= 30.00

Матрица C S2= 35.00

8 6 11 7

5 4 9 8

25 3 -2 1

16 7 4 20

2.3.2.2. Поиск элементов массива по заданному критерию

Пример 19. Найти наибольший элемент по каждому столбцу матрицы В(m,n). (Пусть m<=10, n<=10)

Программа Схема алгоритма

Program Prim19;

var

b : array[1..10,1..10] of real;

i,j,m,n : integer;

max : real;

begin

writeln('Введите m, n');

readln(m,n);

writeln('Введите матрицу');

for i:=1 to m do

for j:=1 to n do

read(b[i,j]);

for j:=1 to n do

begin

max:=b[1,j];

for i:=2 to m do

if b[i,j]>max then max:=b[i,j];

writeln('j=', j:2,' max=', max:6:2);

end;

end.

Исходные данные: Результат:

m = 4; n = 4 j= 1 max= 12.00

Матрица B: j= 2 max= 6.00

2 -1 7 5 j= 3 max= 7.00

3 6 4 -9 j= 4 max= 6.00

8 5 -10 2

12 4 3 6