program ArrayS;
var
A: array of string;
i: Integer;
s: string;
begin
s := '';
i := 0;
WriteLn ('Введите элементы массива через Enter. Пустое значение - окончание ввода:');
repeat
ReadLn (s);
if s <> '' then begin
Inc (i);
SetLength (A, i);
A [i - 1] := s;
end;
until s = '';
for i := Low (A) to High (A) do
if Length (A [i]) > 4 then
A [i] := A [High (A)];
WriteLn;
WriteLn ('Результирующий массив:');
for i := Low (A) to High (A) do
Write (A [i], ' ');
ReadLn;
end.
var
d : array of integer;
n : integer;
function arrSumRec(d : array of integer; n : integer) : integer;
begin
if n > d.Length-1 then exit;
result := d[n]+arrSumrec(d, n+1);
n += 1;
end;
begin
write('введите количество элементов для массива ');
readln(n);
d := new integer[n];
d := arrRandom(n, 1, 100);
writeln('сгенерирован массив из ', n, ' элементов со значениями в диапозоне 1..100');
writeln(d);
writeln('Сумма = ', arrSumRec(d, 0));
end.
функция function arrSumRec(d : array of integer; n : integer) : integer; в качестве первого параметра получает массив сумму которого считаем в качестве второго номер члена начиная с которого считаем сумму. Не забываем что нумерация начинается с нуля. поэтому чтобы посчитать сумму всех членов массива в качестве второго параметра указываем 0.