Дана матрица m*n. Получить последовательность Ca, где каждый элемент — произведение квадратов тех элементов a-й строки, модули которых принадлежат отрезку [1.0,1.5] — Pascal(Паскаль)

const nmax=20;
var b:array[1..nmax,1..nmax] of real;
    c:array[1..nmax] of real;
    m,n,a,j,k:byte;
    p:real;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for a:=1 to m do
 begin
  for j:=1 to n do
   begin
    b[a,j]:=10*random-4;
    write(b[a,j]:6:2);
   end;
  writeln;
 end;
writeln;
for a:=1 to m do
 begin
  p:=1;
  k:=0;
  for j:=1 to n do
  if (abs(b[a,j])>=1)and(abs(b[a,j])<=1.5) then
   begin
    p:=p*sqr(b[a,j]);
    k:=1;
   end;
  if k=0 then c[a]:=0
  else c[a]:=p;
 end;
writeln('Последовательность C:');
for a:=1 to m do
write(c[a]:6:2);
readln
end.

Leave a Comment

+ 17 = 20