Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабороторная работа 5.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
213.03 Кб
Скачать

Исправленные задачи

Program lab5a;

Var

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

i, j, m, n: integer; s, p: real;

Begin

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

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

s:=0; p:=1;

for i:=1 to m do for j:=1 to n do

if i<j then begin

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

end;

writeln('s=',s:10:3,' p=',p:10:3);

End.

Program lab5b;

Var

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

i, j, m, n: integer; min, max: real;

Begin

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

writeln('Введи массив A');

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

begin

min:=1E10;

for i:=1 to m do

for j:=1 to n do

if (a[i,j]<0) and (a[i,j]<min) then min:=A[i,j];

end;

begin

for i:=1 to m do

for j:=1 to n do

max:=-1E10;

if (A[i,j]>max) and (a[i,j]<0) then max:=A[i,j];

end;

writeln('min=',min:10:3,' max=',max:10:3);

End.

Program lab5c;

Var

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

i, j, m, n: integer; nul,s,sr,k: real;

Begin

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

writeln('Введи массив A');

for i:=1 to m do for j:=1 to n do

read(A[i,j]);

nul:=0;

for i:=1 to m do for j:=1 to n do

if a[i,j]=0 then nul:=nul+1;

k:=0; s:=0;

for i:=1 to m do for j:=1 to n do

if a[i,j]>0 then begin

s:=s+a[i,j]; k:=k+1;

end;

sr:=s/k;

writeln('Среднее значение положительных=',sr:10:3,' Количество нулевых элементов=',nul:10:3);

End.

Дополнительное задание

Program dz5_1;

Var

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

i, j, m, n: integer;

s,k: real;

Begin

writeln('Введите количество строк m');

read(m);

writeln('Введите количество столбцов n');

read(n);

for i:=1 to m do for j:=1 to n do

begin

write('Введи b[',i,',',j,']='); readln(b[i,j]);

end;

begin

s:=0;

for i:=1 to m do for j:=1 to n do

if b[i,j]>0 then begin

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

end;

k:=0;

for i:=1 to m do for j:=1 to n do

if (b[i,j]>=10) and (b[i,j]<=20) then k:=k+1;

writeln ('Сумма положительных= ', s:6:3);

writeln ('Кол-во эл-ов в диапазоне от 10 до 20= ', k:6:3);

end;

End.

Program dz5_2;

Var

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

i, j, m, n: integer;

s,sr,p: real;

Begin

writeln('Введите количество строк m');

read(m);

writeln('Введите количество столбцов n');

read(n);

for i:=1 to m do for j:=1 to n do

begin

write('Введи C[',i,',',j,']='); readln(c[i,j]);

end;

begin

s:=0;

for i:=1 to m do for j:=1 to n do

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

sr:=s/n;

end;

begin

p:=1;

for i:=1 to m do for j:=1 to n do

if (c[i,j]>sr) then p:=p*c[i,j];

writeln ('Среднее значение=', sr);

writeln ('Произведение эл-ов больше среднего значения=', p);

end;

End.

Program dz5_3;

Var

d: array [1..100,1..100] of real;

i, j, m, n: integer;

s,k,sr,min: real;

Begin

writeln('Введите количество строк m');

read(m);

writeln('Введите количество столбцов n');

read(n);

for i:=1 to m do for j:=1 to n do

begin

write('Введи D[',i,',',j,']='); readln(d[i,j]);

end;

begin

min:=d[1,1];

for i:=2 to n do for j:=2 to n do

if d[i,j]<min then

min:=d[i,j];

end;

s:=0; k:=0;

for i:=1 to n do for j:=1 to n do

if d[i,j]<>min then

begin

s:=s+d[i,j]; k:=k+1;

end;

sr:=s/k;

writeln('min=', min:6:3);

writeln('Ср.значение эл-ов, не совпадающих с min=', sr:6:3);

End.

Program dz5_4;

Var

l: array [1..100,1..100] of real;

i, j, m, n: integer;

s,max: real;

Begin

writeln('Введите количество строк m');

read(m);

writeln('Введите количество столбцов n');

read(n);

for i:=1 to m do for j:=1 to n do

begin

write('Введи L[',i,',',j,']='); readln(l[i,j]);

end;

begin

max:=-1E10;

for i:=1 to n do for j:=1 to n do

if (l[i,j]>max) and (l[i,j]<0) then

max:=l[i,j];

writeln('Максимальный среди отрицательных', max:6:3);

end;

if m<>n then writeln ('У матрицы нет главной диагонали') else

begin

s:=0;

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

if i=j then s:=s+l[i,j];

end;

writeln('s=', s:6:3);

end;

End.

Program dz5_5;

Var

p: array [1..100,1..100] of real;

i, j, n: integer;

Begin

writeln('Введите количество строк и столбцов n');

read(n);

for i:=1 to n do for j:=1 to n do

begin

write('Введи P[',i,',',j,']='); readln(p[i,j]);

end;

begin

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

if i<j then p[i,j]:=0

else p[i,j]:=round(p[i,j]);

end;

writeln('Массив A');

for i:=1 to n do

begin

for j:=1 to n do

write(P[i,j]:10:3);

writeln;

end;

end;

End.