Для матрицы A (4 строк, 5 столбцов) вычислить выражение y=(1-P[5])2+(2-P[4])2+...+(5-P[1])2 ), где P[k] - произведение отрицательных элементов в k-том столбце матрицы А.
Для вычисления произведения отрицательных элементов в произвольном столбце матрицы использовать процедуру.
program L313;
uses crt;
const n=3;m=4;
type
ma=array[1..n,1..m] of real;
pa=array[1..m] of real;
var
a:ma;p:pa;
j,k:integer;
y,q:real;
procedure go;
var
j,k:integer;
pr:real;
begin
for j:=1 to m do
begin
pr:=1;
for k:=1 to n do
if a[k,j]<0 then
pr:=pr*a[k,j];
p[j]:=pr;
writeln (p[j]:5:3);
end;
end;
Begin
clrscr;
textcolor(yellow);
y:=0;
q:=0;
for j:=1 to n do
for k:=1 to m do
begin
writeln('Введите A[',j,',',k,']:');readln(a[j,k]);
end;
go;
for k:=m downto 1 do
begin
q:=q+1;
y:=y+(sqr(q-p[k]));
writeln(y:4:3)
end;
writeln('Y:',y:5:3);
readln;
end.
Комментарии
Uses CRT;
var ans:char;
a:real;
y:byte;
begin
ClrScr;
write ('a=');
readln (a);
write ('y=');
readln (y);
a:=ord(chr(2));
y:=succ(1);
end.
writeln ('a=' ,a:5:3 'y=' ,y:5:3);
repeat until keypressed
END