stanstan199
09.10.2020 12:06

Для чего нужен задний фон?
как используется метод fill?​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
pbavaМАНЯ
17.04.2021 14:43
1. Путь решения

Поскольку среднее всех введенных чисел нельзя найти, пока не будет закончен ввод этих чисел, а затем каждое число нужно будет сравнивать с этим средним, введенные числа придется где-то хранить. Например, в массиве длиной 100 (в условии сказано, что количество чисел "до 100").
Считаем, что описан массив a[1..100] и в нем находятся n≤100 целых чисел (можно и нецелых, но раз ничего не сказано в условии, мы вправе решить это сами).
Тогда среднее определится по формуле:
\displaystyle m= \frac{1}{n} \sum_{i=1}^na_i
а сумму мы умеем считать, накапливая значение в цикле со счетчиком, дающем проход по всем элементам массива.
Искомое количество чисел, меньших среднего - это тоже сумма, найти которую позволит еще один цикл, но в нем уже будет анализ условия.
\displaystyle k=\sum_{i=1}^na_i, \ a_i\ \textless \ m

2. Программа на языке Pascal

const
  nn=100;
var
  i,n,k,s:integer;
  m:real;
  a:array[1..nn] of integer;
begin
  Write('Количество чисел равно '); Read(n);
  Writeln('Введите числа:');
  s:=0;
  for i:=1 to n do begin Read(a[i]); s:=s+a[i] end;
  m:=s/n;
  k:=0;
  for i:=1 to n do
    if a[i]<m then Inc(k);
  Writeln('Количество чисел, превышающих среднее значение, равно ',k)
end.

3. Пример работы программы

Количество чисел равно 10
Введите числа:
6 -4 11 -7 5 7 0 3 5 -2
Количество чисел, превышающих среднее значение, равно 4
0,0(0 оценок)
Ответ:
oleshckewitchd
07.08.2021 11:04
Const
   N = 15;
Var
   A:array[1..N] of integer;
   i,
   Max, Min:integer; // Тут будут храниться НОМЕРА Min и Max
Begin
Randomize;
{Заполнение и вывод массива}
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(21)-10;
    Write(' ',A[i])
    End;
WriteLn;
{Поиск максимума и минимума}
Max:=1;
Min:=1;
// Проверять начинаем со второго элемента,
// потому, что в первую очередь будем сравнивать с первым
// (т.к. Max = 1 и Min = 1)
For i:= 2 to N do
    Begin
    if A[i]>A[Max] then Max:=i;
    if A[i]<A[Min] then Min:=i;
    // Поскольку тут стоят знаки строго больше и строго меньше,
    // будут найдены только первый встретившийся максимум
    // и первый встретившийся минимум.
    // Если бы стояли знаки больше или равно(>=) и меньше или равно(<=),
    // то найдены были бы последние встретившиеся Max и Min
    // То есть, например, в первом случае в массиве:
    // 1 2 3 4 5 2 5 1
    // были бы найдены: Min = 1, Max = 5
    // во втором случае в том же массиве были бы найдены:
    // Min = 8, Max = 7
    End;
// Сколько элементов между пятым и первым ? - три.
// Между восьмым и седьмым ? - ноль
// Общая формула:
// Искомое кол-во элементов = |НомерМаксимума-НомерМинимума|-1
// Значение берём по модулю потому,
// что как минимальный элемент может стоять после максимального,
// так и максимальный после минимального
// То есть без модуля было бы так: 5-1-1 = 3, 7-8-1 = -2
// А с модулем так: |5-1|-1 = 3, |7-8|-1 = 0
// Формула может выдать -1 в том случае, когда минимум равен максимум,
// то есть когда все элементы массива равны.
// На этот случай можно вывести соответствующее сообщение, или просто вывести ноль.
WriteLn('Max = A[',Max,'] = ',A[Max]);
WriteLn('Min = A[',Min,'] = ',A[Min]);
i:=Abs(Max-Min)-1;
// перепишем сюда получившееся значение,
// чтобы потом ещё раз его не высчитывать
if i = -1 then WriteLn('Все элементы массива равны.')
else WriteLn('Кол-во элементов между Max и Min = ',i);
End.

Пример:
Исходный массив: 5 -2 -5 5 6 -7 7 -6 6 3 -4 6 -8 7 1
Max = A[7] = 7
Min = A[13] = -8
Кол-во элементов между Max и Min = 5
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота