Вводится длина вектора, состоящего из целых чисел, и его элементы. Найти среднее арифметическое элементов, не являющихся простыми числами, но при этом стоящих на чётных местах — Pascal(Паскаль)

program lb1;

var
  m: array [1 .. 100] of integer;
  i, j, n, zc, kol, sum, mm: integer;
  sr: real;

function is_prime(x: integer): boolean;
{ функция, определяющая является ли число ПРОСТЫМ }
var
  i: integer;
  result: boolean;
begin
  for i := 2 to x div 2 do
    if x mod i = 0 then
    begin
      result := false;
      exit;
    end;
  result := true;
  is_prime := result;
end; { *****************конец функции************* }

begin
  write('Vvedite N (razmer massiva): ');
  readln(n); { считываем размер массива }
  for i := 1 to n do
  begin
    write('M[', i, ']=');
    readln(m[i]);
  end; { считываем сам масссив }
  writeln;
  for i := 1 to n do
    write(m[i], ' '); { показываем на экране этот масссив }
  writeln;
  writeln;

  sum := 0; { обнуляем счётчик суммы }
  kol := 0; { обнуляем счётчик кол-ва }
  for i := 1 to n do
    if (i mod 2 = 0) and (not is_prime(m[i]))
    then { проверяем на нечётость и простоту чисел }
    begin
      inc(sum, m[i]);
      inc(kol);
    end; { слаживаем эти числа в сумму }

  if kol = 0 then
    sr := 0
  else
    sr := sum / kol; { находим СР. АР. }
  writeln('Srednee Arif= ', sr:0:2); { выводим на экран  СР. АР. }

  readln;

end.

Leave a Comment

+ 46 = 49