Элементы массива, которые меньше среднего арифметического
Авторgospodaretsva.comПросмотров6.3к.Обновлено
Найти в массиве те элементы, значение которых меньше среднего арифметического, взятого от всех элементов массива.
Алгоритм решения задачи:
Посчитать сумму всех элементов массива. Для этого до цикла вводится переменная для суммы (например, sum). Далее в цикле перебираются элементы массива и значение каждого добавляется к этой переменной. Подсчет суммы можно выполнить в том же цикле, что и заполнение массива.
Когда сумма элементов посчитана, находится среднее арифметическое, которое равно сумме разделенной на количество элементов массива.
Массив перебирается в цикле, каждый элемент сравнивается с найденным средним значением. Если элемент меньше, то он выводится на экран (или сохраняется в другом массиве).
Язык Си
#include < stdio.h>
#define N 10
main() {
int a[N];
int i;
float sum, avrg;
srand(time(NULL));
sum = 0;
for (i=0; i< N; i++) {
a[i] = rand() % 100;
printf("%3d", a[i]);
sum += a[i];
}
printf("\n");
avrg = sum/N;
printf("%.2f\ n",avrg);
for (i=0; i< N; i++)
if (a[i] < avrg) printf("%3d", a[i]);
printf("\n");
}
38 67 71 56 34 11 17 84 92 61
53.10
38 34 11 17
Python
from random import random
N = 10
arr = [0] * N
for i in range(N):
arr[i] = int(random() * 100)
print(arr)
avrg = sum(arr)/N
print(avrg)
less = []
for i in range(N):
if arr[i] < avrg:
less.append(arr[i])
print(less)
В Питоне сумму элементов списка можно найти с помощью встроенной функции sum().
КуМир
алг меньше среднего
нач
цел N = 10
цел таб a[1:N]
цел i
вещ sum, avrg
sum := 0
нц для i от 1 до N
a[i] := irand(-50,50)
вывод a[i]:4
sum := sum + a[i]
кц
вывод нс
avrg := sum/N
вывод avrg, нс
нц для i от 1 до N
если a[i] < avrg то
вывод a[i]:4
все
кц
кон
N = 10
dim arr(N)
sum = 0
for i=0 to N-1
arr[i] = int(rand()*100)
print arr[i] + " ";
sum = sum + arr[i]
next i
print
avrg = sum/N
print avrg
for i=0 to N-1
if avrg > arr[i] then print arr[i] + " ";
next i
const N = 10;
var
a: array[1..N] of integer;
i: byte;
avrg: real;
sum: integer;
begin
randomize;
for i:=1 to N do a[i]:=random(50)+1;
sum := 0;
for i:=1 to N do sum := sum + a[i];
avrg := sum/N;
// весь массив
for i:=1 to N do write(a[i]:3);
writeln;
writeln('Среднее арифм.: ',avrg:4:2);
// больше avrg
for i:=1 to N do if a[i] < avrg then write(a[i]:3);
writeln;
end.
main() { int a[N]; int i; float sum, avrg; srand(time(NULL)); sum = 0; for (i=0; i< N; i++) { a[i] = rand() % 100; printf("%3d", a[i]); sum += a[i]; } printf("\n");
avrg = sum/N; printf("%.2f\ n",avrg); for (i=0; i< N; i++) if (a[i] < avrg) printf("%3d", a[i]); printf("\n"); }
38 67 71 56 34 11 17 84 92 61 53.10 38 34 11 17
Python
from random import random N = 10 arr = [0] * N for i in range(N): arr[i] = int(random() * 100) print(arr) avrg = sum(arr)/N print(avrg) less = [] for i in range(N): if arr[i] < avrg: less.append(arr[i]) print(less)
В Питоне сумму элементов списка можно найти с помощью встроенной функции sum().
КуМир
алг меньше среднего нач цел N = 10 цел таб a[1:N] цел i вещ sum, avrg sum := 0 нц для i от 1 до N a[i] := irand(-50,50) вывод a[i]:4 sum := sum + a[i] кц вывод нс avrg := sum/N вывод avrg, нс нц для i от 1 до N если a[i] < avrg то вывод a[i]:4 все кц кон
N = 10 dim arr(N) sum = 0 for i=0 to N-1 arr[i] = int(rand()*100) print arr[i] + " "; sum = sum + arr[i] next i print avrg = sum/N print avrg for i=0 to N-1 if avrg > arr[i] then print arr[i] + " "; next i
const N = 10; var a: array[1..N] of integer; i: byte; avrg: real; sum: integer; begin randomize; for i:=1 to N do a[i]:=random(50)+1; sum := 0; for i:=1 to N do sum := sum + a[i]; avrg := sum/N;
// весь массив for i:=1 to N do write(a[i]:3); writeln;
writeln('Среднее арифм.: ',avrg:4:2);
// больше avrg for i:=1 to N do if a[i] < avrg then write(a[i]:3); writeln; end.