
Исправленные задачи
|
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. |