Как найти среднее арифметическое положительных элементов массива

Перейти к содержанию

Среднее арифметическое положительных элементов массива

Просмотров 7.2к. Обновлено 17 сентября 2021

Найти среднее арифметическое положительных элементов линейного массива.

Данная задача имеет смысл, если массив заполнен не только положительными числами, но также содержит отрицательные числа и/или возможно нули.

Для заполнения массива можно воспользоваться генератором псевдослучайных чисел. Допустим, надо сгенерировать числа в диапазоне от -5 до 4 включительно. Всего значений 10, смещение на -5. Таким образом, с помощью стандартной функции генерируем числа от 0 до 10 и вычитаем из них 5.

Среднее арифметической находится как отношение суммы чисел к количеству этих чисел. Поскольку надо найти среднее арифметическое только положительных чисел, то, перебирая массив, нам надо определять положительные числа, добавлять их к общей сумме, а также считать их количество. Для этого потребуется две переменные (например, sum и qty), которым до цикла следует присвоить значение 0.

Осуществлять проверку с помощью условного оператора if можно как в отдельном цикле перебора массива, так и в цикле его заполнения. Если очередной элемент массива больше нуля, то следует его значение добавить к переменной sum, а значение переменной qty увеличить на 1.

После того как все элементы массива проверены, надо найденную сумму положительных чисел разделить на их количество. Тем самым будет найдено среднее арифметическое.

Pascal

Язык Си

Python

КуМир

Basic-256

Python задача. Найдите среднее арифметическое положительных элементов массива

Python задачи

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

Алгоритм решения задачи на python

1) Среднее арифметическое находится как отношение суммы чисел к количеству этих чисел. Так как нам нужно найти среднее арифметическое только положительных чисел, то при сортировке массива нам нужно определить положительные числа, прибавить их к общей сумме и также подсчитать их количество. Для этого потребуются две переменные

2) Если элемент массива больше нуля, то следует его значение добавить к переменной и увеличить наш счётчик

3) После того как все элементы массива проверены, надо найденную сумму положительных чисел разделить на их количество.

Код для нахождения среднего арифметического из положительных элементов массива

from random import random

N = 20
a = []
for i in range(N):
n = int(random() * 21) – 10
a.append(n)
print(a)

s = q = 0
for i in range(N):
if a[i] > 0:
s += a[i]
q += 1
print(“%5.2f” % (s/q))

Код для нахождения среднего арифметического из положительных элементов массива

Python задачи
Все задачи на python

Репост статьи

27 декабря 2022 г.

Комментарии могут оставлять только зарегестрированные пользователи!



Комментарии

Ваш комментарий будет первым !

Напиши программу, которая принимает натуральное число n, а затем n чисел от 1 до 100. выведи максимальное из них, которое заканчивается на 1. если такого числа нет, напечатай «нет».

Pascal задача.Даны натуральные числа n, m. Получите сумму m последних цифр числа n.

0 / 0 / 0

Регистрация: 13.11.2010

Сообщений: 5

1

Найти среднее арифметическое положительных элементов массива

13.11.2010, 12:55. Показов 28913. Ответов 7


Студворк — интернет-сервис помощи студентам

Найти среднее арифметическое положительных элементов массива С(25);

Оригинал

Знайти середнє арифметичне позитивних елементів масиву C(25).



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

13.11.2010, 12:55

7

asics

Freelance

Эксперт С++

2889 / 1824 / 356

Регистрация: 09.09.2010

Сообщений: 3,841

13.11.2010, 13:01

2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main()
{
    const int n = 5;
    int cnt = 0;
    double sum = 0;
    int Arr[n] = {1, -5, 3, 6, -4};
 
    for(int i = 0; i < n; i++)
    {
        if(Arr[i] > 0)
        {
            cnt++;
            sum += Arr[i];
        }
    }
 
    std::cout << sum / cnt;
}



0



relok

3 / 3 / 0

Регистрация: 13.11.2010

Сообщений: 25

13.11.2010, 13:02

3

C++
1
2
3
4
int tmp_sum=0; //massiv dlja summi
int n=0; //dlja nahozdenija kolli4estva summiruemih
if(C[0]>0){n++;tmp_sum+=C[0];}
if(C[1]>0){n++;tmp_sum+=C[1];}

так до 24ого)

C++
1
float otvet=tmp_sum/n;



0



В астрале

Эксперт С++

8048 / 4805 / 655

Регистрация: 24.06.2010

Сообщений: 10,562

13.11.2010, 13:07

4

relok, За такое надо убивать.
+ среднее арифметическое может быть нецелым числом



0



3 / 3 / 0

Регистрация: 13.11.2010

Сообщений: 25

13.11.2010, 13:09

5

https://www.cyberforum.ru/visu… ost1106797

=)нужно чтобы люди понимали изнутри задачу, которую они хотят реализовать
я когда разбираюсь с алгоритмами сначала проделывал их влоб на бумаге.
потом смотрю что можно сократить, упростить. и тогда уже получается нормальный код.



0



NikITKA123

19 / 18 / 5

Регистрация: 28.04.2010

Сообщений: 86

13.11.2010, 13:41

6

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "Rus");
    const int n = 25;
    int c[n], i, sum = 0, b = 0;
    float d;
    cout << "Введите элементы массива:n";
    for(i=0; i<n; i++)
        cin >> c[i];
    for(i=0; i<n; i++){
        if(c[i] > 0){
            sum += c[i];
            b++;
        }
    }
    d = sum/b;
    cout << "Среднее арифметическое равно: " << d << endl;
    return 0;
}

Добавлено через 25 минут
relok, вам слова “цикл” о чем-нибудь говорит?!



0



3 / 3 / 0

Регистрация: 13.11.2010

Сообщений: 25

13.11.2010, 16:02

7

я за то, чтобы люди понимали, что они хотят
задача – наипростейшая=>парень вообще не знает программирование. он придёт к преподу с вашим кодом. тот – и что это за for?.

а я написал так, что парень, посмотрев на код, логически понял как всё работает. а потом на ваш – оо, круто, кажется понимаю что здесь творится



0



0 / 0 / 0

Регистрация: 28.11.2016

Сообщений: 6

28.11.2016, 19:48

8

Помогите мне пожалуйста написать програму в динамическом масс иве К [1..4, 1..5] найти номер столбиков в каких среднее арифметическое его елементов меньше чем среднее арифметическое елементов всего массива



0



Формулировка задачи:

Найти среднее арифметическое всех положительных элементов массива. Проверить, имеют ли все элементы массива один знак. Проверить, содержит ли массив знакопеременную последовательность.

Код к задаче: «Найти среднее арифметическое всех положительных элементов массива»

textual

Листинг программы

const
  n = 10;
var
  a : array [1..n] of integer;
  i, s, k : integer;
begin
  randomize;
  s := 0;
  k := 0;
  for i := 1 to n do
  begin
    a[i] := random(10) - 5;
    write(a[i]:4);
    if a[i] > 0 then
    begin
      k := k + 1;
      s := s + a[i]
    end
  end;
  writeln;
  writeln('среднее арифметическое положительных: ', (s / k):0:3)
end.

Тема: Найти среднее арифметическое положительных элементов массива  (Прочитано 10872 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Найти среднее арифметическое положительных элементов массива x[12]
Program zadanie01;
Var
x:array [1..12] of integer;
i,k:integer;
S:real;
begin
for i:=1 to 12 do
readln (x[12]);
k:=0;
S:=0;
for i:=1 to 12 do
if x>0 then
S:=(S+x/?

« Последнее редактирование: 20 Января 2012, 10:35:17 от Asix »



как найти среднее арифметическое?
S:=(S+x)/ на кол-во положительных элементов в массиве…а как их найти?


quote author=FineMary link=topic=12431.msg80948#msg80948 date=1323881181]
Найти среднее арифметическое положительных элементов массива x[12]
Program zadanie01;
Var
x:array [1..12] of integer;
i,k:integer;
S:real;
begin
for i:=1 to 12 do
readln (x);
k:=0;
S:=0;
for i:=1 to 12 do
if x>0 then
begin
S:=S+x(i);
k:=k+1;
end;
S:=S/12
print
end;
[/quote]


У вас проблемы с массивом: если уж объявили x как массив (x:array [1..12] of integer;) то обращаться к элементам его нужно x [ i ], а никак не x(i) или просто x
А вообще среднее арифметическое k-чисел это их сумма деленная на k, а не на 12.


Так оно карёжит при посылке. Пришлось ставить х(і).
С надеждой, что адресат поймёт.


Добавить комментарий