2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Медиана на Pythone
Сообщение24.03.2021, 17:44 
Аватара пользователя


30/11/07
382
Уважаемые корифеи и знатоки!
Медиана
В списке нечётное число элементов, при этом все элементы различны. Найдите медиану списка: элемент, который стоял бы ровно посередине списка, если список отсортировать.

При решении этой задачи нельзя модифицировать данный список (в том числе и сортировать его), использовать вспомогательные списки.

Программа должна вывести единственное число — значение медианного элемента в списке.

Входные данные

Первая строка содержит размер массива $N$. Во второй строке через пробел задаются $N$ чисел – элементы массива. Гарантируется, что $N \leqslant1000$ и $N$ – нечётное число.

Выходные данные

Программа должна вывести одно число – медиану массива.

Примеры
Ввод
$5$

$3 1 4 2 5$
Вывод
$3$

При написании программного кода нельзя использовать $sort, sorted$

Вариант $1$ (ошибка кроется где-то но найти не можем)
Используется синтаксис Python
a=list(map(int,input().split()))
for i in range(len(a)):
    count=0
    for j in range(len(a)):
        if a[j]<a[i]:
            count+=1
        if count == len(a)//2:
            print(a[i])
            break

Вариант $2$ (аналогично не можем понять в чём ошибка)
Используется синтаксис Python
a=list(map(int,input().split()))
for elem in a:
    count=0
    for x in a:
        if x<elem:
            count+=1
        if count==len(a)//2:
            print(elem)
            break

 Профиль  
                  
 
 Posted automatically
Сообщение24.03.2021, 17:49 
Супермодератор
Аватара пользователя


09/05/12
23313
Кронштадт
 i  Тема перемещена из форума «Программирование» в форум «Карантин»
по следующим причинам:

- неправильно набраны формулы (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы);
- используйте для кода тег подстветки синтаксиса.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 Профиль  
                  
 
 Posted automatically
Сообщение24.03.2021, 19:41 
Супермодератор
Аватара пользователя


09/05/12
23313
Кронштадт
 i  Тема перемещена из форума «Карантин» в форум «Программирование»

 Профиль  
                  
 
 Re: Медиана на Pythone
Сообщение24.03.2021, 20:22 


21/05/16
4044
Аделаида
Ну, во-первых, в начале должна быть ещё строчка типа n = int(input()).

 Профиль  
                  
 
 Re: Медиана на Pythone
Сообщение24.03.2021, 20:25 


10/04/12
677
Условие if count==len(a)//2: должно быть после цикла. А вообще отлаживаться пробовали?

 Профиль  
                  
 
 Re: Медиана на Pythone
Сообщение24.03.2021, 21:18 
Аватара пользователя


30/11/07
382
mustitz в сообщении #1510918 писал(а):
Условие if count==len(a)//2: должно быть после цикла. А вообще отлаживаться пробовали?
kotenok gav в сообщении #1510916 писал(а):
Ну, во-первых, в начале должна быть ещё строчка типа n = int(input()).


ДА!!! ДА!!! ДА!!! ВЫ ОБА ПРАВЫ!!!
ВОТ РЕЗУЛЬТАТ
Используется синтаксис Python
b=int(input())            
a=list(map(int,input().split()))
for elem in a:
    count=0
    for x in a:
        if x<elem:
            count+=1
    if count==len(a)//2:
        print(elem)
        break

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: maxal, Toucan, PAV, Karan, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group