const
handsfree = false;
nmax = 10;
random_min = -50;
random_max = 50;
var
a: array[0..nmax] of real;
i, n: integer;
sum, x: real;
begin
{ввод массива}
n := nmax;
if handsfree then begin
for i := 0 to n do
begin
a[i] := random(random_max - random_min) + random_min;
write(a[i], ' ');
end
end
else begin
for i := 0 to n do
readln(a[i]);
end;
writeln();
{подсчет суммы}
write('x = ');
readln(x);
sum := a[n];
for i := n - 1 downto 0 do
sum := sum * x + a[i];
writeln('S = ', sqrt(sum));
end.
// Внимание! Если программа не работает, обновите версию!
begin
Writeln('*** Исходный массив ***');
var c:=MatrRandom(3,5,-9,9);
c.Println(4); Writeln(4*c.ColCount*'-');
Writeln('Произведение элементов: ',
c.ElementsByRow.Aggregate(int64(1),(x,y)->x*y));
Writeln('*** Массив-результат ***');
c.Transform(t->t*t);
for var i:=0 to c.RowCount-1 do c[i,i]:=1;
c.Println(4)
end.
Пример
*** Исходный массив ***
-7 -3 4 -1 -5
9 1 9 2 4
-3 -3 -1 -4 -8
Произведение элементов: -78382080
*** Массив-результат ***
1 9 16 1 25
81 1 81 4 16
9 9 1 16 64