Дан массив,содержащий неотрицательные целые числа,вывести среднее арифметическое...

0 голосов
57 просмотров

Дан массив,содержащий неотрицательные целые числа,вывести среднее арифметическое элементов массива, которые делятся на 3 и на 5


Информатика (79 баллов) | 57 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Если число делится на 3 и на 5, то оно делится и на 3х5=15.

1. Современное решение

// PascalABC.NET 3.2, сборка 1472 от 08.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),1,999); a.Println;
  var s:=a.Where(x->x mod 15=0);
  if s.Count>0 then Writeln('Ср.арифм. кратных 15 равно ',s.Average:0:5)
  else Writeln('Нет чисел кратных 15')
end.

Пример
n= 25
867 201 699 50 660 344 843 90 443 16 529 113 463 46 383 419 992 953 733 241 906 558 710 633 995
Ср.арифм. кратных 15 равно 375.00000

2. Так все еще обычно учат в школах

const
  nn=100;
var
  a:array[1..nn] of integer;
  i,n,s,k:integer;
begin
  Randomize;
  Write('n=');
  Read(n);
  s:=0;
  k:=0;
  for i:=1 to n do begin
    a[i]:=Random(999)+1;
    Write(a[i],' ');
    if a[i] mod 15=0 then begin
      s:=s+a[i];
      k:=k+1
      end
    end;
  Writeln;
  if k>0 then Writeln('Ср.арифм. кратных 15 равно ',s/k:0:5)
  else Writeln('Нет чисел кратных 15')
end.

Пример
n=17
303 262 411 814 704 285 647 347 362 327 517 101 937 8 605 426 29
Ср.арифм. кратных 15 равно 285.00000

(150k баллов)
0 голосов

#include
#include
#include


int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    const int N = 10;
    int a = 0, count = 0;
    unsigned int arr[N];
    srand(time(NULL));
    std::cout << "Массив: " << std::endl;<br>    for (int i = 0; i < N; i++)
    {
        arr[i] = rand() % 100 + 1;
        if ((arr[i] % 3 == 0) && (arr[i] % 5 == 0))
        {
            a += arr[i];
            count++;
        }
        std::cout << std::setw(3) << arr[i];<br>    }
    std::cout << std::endl;<br>    if (count == 0)
        std::cout << "Массив не содержит элементов, удовлетворяющих условию" << std::endl;<br>    else
    {
        a /= count;
        std::cout << "Среднее арифметическое элементов массива, которые делятся на 3 и на 5: " << a << std::endl;<br>    }
    system("pause");
}


(1.5k баллов)