Pascal. даны массивы a(m) и y(m), m≤16 . найти сумму s : s=a1ym+a2ym-1++amy1 . если s< 24 вывести ее на печать, в противном случае вывести на печать оба исходных массива.
var A, Y: array[1..n] of integer; i, m: integer; S: longint;
begin Write('Введите число элементов в массивах m<17: '); Readln(m); if not (m in [1..16]) then m := 16; { защита от дурака } Randomize; //Write('Элементы массива: '); S := 0; for i := 1 to m do begin A[i] := Random(51) - 25; Y[i] := Random(41) - 20; S := S + A[i] * Y[m - i + 1] //Write(x[i]:5) end; if S < 24 then Writeln('Искомая сумма равна ', S) else begin Write('Массив A: '); for i := 1 to m do Write(A[i]:4); Write(#13#10, 'Массив Y: '); for i := 1 to m do Write(Y[i]:4); Writeln end end.
n = 16;
var
A, Y: array[1..n] of integer;
i, m: integer;
S: longint;
begin
Write('Введите число элементов в массивах m<17: ');
Readln(m);
if not (m in [1..16]) then m := 16; { защита от дурака }
Randomize;
//Write('Элементы массива: ');
S := 0;
for i := 1 to m do
begin
A[i] := Random(51) - 25;
Y[i] := Random(41) - 20;
S := S + A[i] * Y[m - i + 1]
//Write(x[i]:5)
end;
if S < 24 then Writeln('Искомая сумма равна ', S)
else begin
Write('Массив A: ');
for i := 1 to m do Write(A[i]:4);
Write(#13#10, 'Массив Y: ');
for i := 1 to m do Write(Y[i]:4);
Writeln
end
end.
Тестовое решение:
Введите число элементов в массивах m<17: 0
Массив A: 6 25 9 -4 11 10 -18 11 18 -11 -24 1 13 -3 -10 0
Массив Y: 1 0 6 9 14 -14 3 -6 -17 -19 11 16 11 -20 5 19
Введите число элементов в массивах m<17: 10
Массив A: 1 2 7 5 9 -16 -23 -4 5 -2
Массив Y: -3 -5 -12 -20 2 1 -3 18 19 -17
Введите число элементов в массивах m<17: 10
Искомая сумма равна 1