-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask03.py
More file actions
29 lines (23 loc) · 1.39 KB
/
task03.py
File metadata and controls
29 lines (23 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Задание №3
# Массив размером 2m + 1, где m — натуральное число, заполнен случайным образом. Найдите в массиве
# медиану. Медианой называется элемент ряда, делящий его на две равные части: в одной находятся
# элементы, которые не меньше медианы, в другой — не больше медианы.
#
# Примечание: задачу можно решить без сортировки исходного массива. Но если это слишком сложно,
# используйте метод сортировки, который не рассматривался на уроках (сортировка слиянием также
# недопустима).
import random
m = int(input('Введите m'))
array = [random.randint(0, 10) for _ in range(2*m+1)]
print(array)
#array = [6, 0, 3, 9, 4, 4, 4, 4, 5]
for inx_i,i in enumerate(array):
count_l = 0; count_g = 0; count_e = 0;
for inx_j,j in enumerate(array):
if inx_i != inx_j:
count_l += 1 if i < j else 0
count_g += 1 if i > j else 0
count_e += 1 if i == j else 0
if count_l == count_g or min(count_l, count_g)+count_e >= max(count_l, count_g):
print('Медина: ', i)
break