Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_2_7_8.doc
Скачиваний:
9
Добавлен:
19.09.2019
Размер:
112.13 Кб
Скачать

29 Вариант.

Для матрицы А(3 строки, 4 столбца) для каждой её половины(левой и правой) вычислить и вывести количество нулевых элементов. Также определить, в какой из этих половин среднее арифметическое значение прочих элементов имеет меньшую величину (вывести одно из сообщений «меньше в левой», «меньше в правой» или «одинаково»).

Для вычисления количества нулевых элементов и среднего арифметического значения прочих элементов в произвольной части матрицы использовать процедуру.

Program z29;

const n=3; m=4;

type matr=array [1..n,1..m] of real;

var i,j,k1,k2:integer;

A:matr;

s1,s2:real;

Procedure vich(var k:integer;A:matr;l1,l2:integer;var s:real);

var i,j,k1:integer;

begin

k:=0;

s:=0;

for i:=1 to n do

for j:=l1 to l2 do

if A[i,j]=0 then

k:=k+1

else begin

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

k1:=k1+1;

end;

if k1<>0 then

s:=s/k1;

end;

begin

for i:=1 to n do

for j:=1 to m do

readln(A[i,j]);

vich(k1,A,1,trunc(m/2),s1);

vich(k2,A,trunc(m/2)+1,m,s2);

writeln(k1);

writeln(k2);

if s1<s2 then

writeln('menshe v levoi')

else

if s1=s2 then

writeln('odinakovo')

else

writeln('menshe v pravoi');

end.

30 Вариант.

Для каждой из двух матриц: А(2 строки, 4 столбца) и В(3 строки, 3 столбца) вычислить и вывести количество отрицательных элементов. Также определить, в какой из них среднее арифметическое значение прочих элементов имеет большую величину (вывести одно из сообщений «больше в А», «больше в правой» или «одинаково»).

Для вычисления количества отрицательных элементов и среднего арифметического значения прочих элементов матрицы использовать процедуру.

Program z30;

const n=2; m=4; l=3;

type matr=array [1..m,1..m] of real;

var i,j,k1,k2:integer;

A,B:matr;

s1,s2:real;

Procedure vich(var k:integer;A:matr;l1,l2:integer;var s:real);

var i,j,k1:integer;

begin

k:=0;

s:=0;

for i:=1 to l1 do

for j:=1 to l2 do

if A[i,j]<0 then

k:=k+1

else begin

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

k1:=k1+1;

end;

if k1<>0 then

s:=s/k1;

end;

begin

for i:=1 to n do

for j:=1 to m do

readln(A[i,j]);

for i:=1 to l do

for j:=1 to l do

readln(B[i,j]);

vich(k1,A,n,m,s1);

vich(k2,B,l,l,s2);

writeln(k1);

writeln(k2);

if s1>s2 then

writeln('bolshe v A')

else

if s1=s2 then

writeln('odinakovo')

else

writeln('bolshe v B');

end.

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