Pascal.
Даны массивы A(m) и Y(m), m≤16 . Найти сумму S : S=A1Ym+A2Ym-1+...+AmY1 . Если S<24 вывести ее на печать, в противном случае вывести на печать оба исходных массива.

Ответы

Ответ дал: Аноним
0
const
  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




Вас заинтересует