Предмет: Информатика, автор: kondratenkonel

Дан целочисленный массив из 30 элементов.
Элементы массива могут принимать значения -1000 до 1000. Необходимо вывести среднее арифметическое тех элементов массива,которые по своему значению меньше последнего элемента этого массива.

Ответы

Автор ответа: Milton812
0
#include <iostream>
#include <iomanip>
#include <ctime>

int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    const int N = 30;
    int a = 0, count = 0;
    int arr[N];
    srand(time(NULL));
    std::cout << "Массив: " << std::endl;
    for (int i = 0; i < N; i++)
    {
        arr[i] = rand() % 2000 - 1000;
        std::cout << std::setw(5) << arr[i];
    }
    for (int i = 0; i < N; i++)
        if (arr[N] > arr[i])
        {
            a += arr[i];
            count++;
        }
    std::cout << std::endl;
    if (count == 0)
        std::cout << "Нет элементов удовлетворяющих условию" << std::endl;
    else
    {
        a /= count;
        std::cout << "Среднее арифметическое элементов массива,которые по своему значению меньше последнего элемента этого массива: " << a << std::endl;
    }
    system("pause");
}


Автор ответа: Аноним
0
1. Современное решение

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

begin
  var a:=ArrRandom(30,-1000,1000); a.Println;
  var s:=a.Where(x->x<a.Last);
  if s.Count>0 then Writeln('Ср.арифм. отобранных равно ',s.Average:0:5)
  else Writeln('Последний элемент минимален')
end.

Пример
-481 170 -688 158 45 474 739 -704 380 -589 -733 410 -117 157 -541 459 -332 786 -85 -486 414 -271 -364 -96 -961 -338 -142 871 -278 691
Ср.арифм. отобранных равно -174.57692

2. Так обычно учат на школьной информатике

const
  n=30;
var
  a:array[1..n] of integer;
  i,s,k:integer;
begin
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(2001)-1000;
    Write(a[i],' ')
    end;
  s:=0;
  k:=0;
  for i:=1 to n-1 do
    if a[i]<a[n] then begin
      s:=s+a[i];
      k:=k+1
      end;
  Writeln;
  if k>0 then Writeln('Ср.арифм. отобранных равно ',s/k:0:5)
  else Writeln('Последний элемент минимален')
end.

Пример
279 397 -770 -405 -731 122 538 239 -298 -727 952 -191 -868 695 529 -147 -845 713 -193 -333 631 552 -355 -690 243 428 -366 -119 -811 140
Ср.арифм. отобранных равно -454.52941
Похожие вопросы
Предмет: Алгебра, автор: alinazgonnaia
Предмет: Физика, автор: urydysuf
Формативное оцениванне (а имооценивание) Приложение. (латериальная точка, путь, перемещение) Цель обучения wwее относительность механическое движения Watch? Арнери оценивания ауеr mеа отсчета, относительно которых данное тело овиеrrics yoney mеа отсчета, относительно которых данное тело покоится Подумай и ответы Л! кто ли считать , , repaльнo тoкoit при расчет расстояния от земли до Луны; при измерении с диаметр при расчеrѕ да ги на спутника во "унь, при посадке космического корабля на ее поверхность; при опр.д.лении скорости е движения вокр Земли? 2.В каких случаях человека можно считать материальной точкой: 5. а) человек идет из дома на работу; 6. б) человек выполняет гимнастические упражнения; 7. в) человек совершает путешествие на пароходе; 8. г) при измерении роста человека? 3. Можно ли считать футболиста материальной точкой, когда: а) он бежит от середины поля к воротам противника; б) он отбирает мяч у противника; в) он делает нас другому игроку; г) он спорит с судьей; д) врач оказывает ему помощь? 4. Пть или перемещение мы оплачиваем при поездке в такси, на самолете, на теплоходе, на поезде? 5. Мальчик подбросил мяч вверх и снова поймал его. Считая, что мяч поднялся на высоту 2,5 м, найдите путь и перемещением
помогите пожалуйста срочно ​
Предмет: Математика, автор: tuevemin