Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/20: Рейтинг темы: голосов - 20, средняя оценка - 4.80
MC_ANDREW
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 21
1

Отсортировать массив по убыванию методом “пузырька”

20.01.2013, 17:58. Просмотров 3729. Ответов 10
Метки нет (Все метки)

Требуется отсортировать массив по убыванию методом “пузырька”.
Ребят срочно нужен код..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 17:58
Ответы с готовыми решениями:

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

Как отсортировать части массива и по возрастанию, и по убыванию?
Прошу помочь сделать задание. Как отсортировать первую часть массива в порядке...

Отсортировать массив R(20) методом «пузырька» по убыванию
Отсортировать массив R(20) методом «пузырька» по убыванию. Составить программу...

Отсортировать массив по убыванию методом пузырька
Вот то что у меня получилось #include<iostream> #include<conio.h>...

Отсортировать массив по убыванию методом "пузырька
Написать программу обработки одномерного динамического массива целых случайных...

10
ilnurgi
138 / 138 / 38
Регистрация: 20.02.2012
Сообщений: 597
21.01.2013, 08:48 2
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
massiv = [5,1,4,2,8,1]
print massiv
len_massiv = len(massiv)
 
for j in range(len_massiv):
    for i in range(len_massiv-1):
        if massiv[i] > massiv[i+1]:
            a = massiv[i]
            b = massiv[i+1]
            massiv[i] = b
            massiv[i+1] = a
            print massiv
            break
        
    for i in range(len_massiv-1, 0, -1):
        if massiv[i-1] > massiv[i]:
            a = massiv[i]
            b = massiv[i-1]
            massiv[i] = b
            massiv[i-1] = a
            print massiv
            break
Python
1
2
3
4
5
6
7
8
9
10
11
>>> 
[5, 1, 4, 2, 8, 1]
[1, 5, 4, 2, 8, 1]
[1, 5, 4, 2, 1, 8]
[1, 4, 5, 2, 1, 8]
[1, 4, 5, 1, 2, 8]
[1, 4, 1, 5, 2, 8]
[1, 4, 1, 2, 5, 8]
[1, 1, 4, 2, 5, 8]
[1, 1, 2, 4, 5, 8]
>>>
либо так

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
massiv = [5,1,4,2,8,1]
print massiv
len_massiv = len(massiv)
 
for j in range(len_massiv):
    for i in range(len_massiv-1):
        if massiv[i] > massiv[i+1]:
            a = massiv[i]
            b = massiv[i+1]
            massiv[i] = b
            massiv[i+1] = a
            print massiv
            break
 
for j in range(len_massiv):        
    for i in range(len_massiv-1, 0, -1):
        if massiv[i-1] > massiv[i]:
            a = massiv[i]
            b = massiv[i-1]
            massiv[i] = b
            massiv[i-1] = a
            print massiv
            break
Python
1
2
3
4
5
6
7
8
9
10
11
>>> 
[5, 1, 4, 2, 8, 1]
[1, 5, 4, 2, 8, 1]
[1, 4, 5, 2, 8, 1]
[1, 4, 2, 5, 8, 1]
[1, 2, 4, 5, 8, 1]
[1, 2, 4, 5, 1, 8]
[1, 2, 4, 1, 5, 8]
[1, 2, 1, 4, 5, 8]
[1, 1, 2, 4, 5, 8]
>>>
1
MC_ANDREW
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 21
26.01.2013, 13:26  [ТС] 3
Но все равно не сортирует выдает ошибку:
Traceback (most recent call last):
File "None", line 2, in <module>
Syntax Error: print massiv: None, line 212
0
ilnurgi
138 / 138 / 38
Регистрация: 20.02.2012
Сообщений: 597
26.01.2013, 13:28 4
свой код и входные данные в студию.
0
MC_ANDREW
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 21
26.01.2013, 13:31  [ТС] 5
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
massiv = [5,6,3,6,7,4,10]
print massiv
len_massiv = len(massiv)
 
for j in range(len_massiv):
    for i in range(len_massiv-1):
        if massiv[i] > massiv[i+1]:
            a = massiv[i]
            b = massiv[i+1]
            massiv[i] = b
            massiv[i+1] = a
            print massiv
            break
 
for j in range(len_massiv):        
    for i in range(len_massiv-1, 0, -1):
        if massiv[i-1] > massiv[i]:
            a = massiv[i]
            b = massiv[i-1]
            massiv[i] = b
            massiv[i-1] = a
            print massiv
            break
0
ilnurgi
138 / 138 / 38
Регистрация: 20.02.2012
Сообщений: 597
26.01.2013, 15:10 6
Python
1
2
3
4
5
6
7
8
9
>>> 
[5, 6, 3, 6, 7, 4, 10]
[5, 3, 6, 6, 7, 4, 10]
[3, 5, 6, 6, 7, 4, 10]
[3, 5, 6, 6, 4, 7, 10]
[3, 5, 6, 4, 6, 7, 10]
[3, 5, 4, 6, 6, 7, 10]
[3, 4, 5, 6, 6, 7, 10]
>>>
все нормально же работает.
у тя какой питон? я на 2.7 тестю
0
Hrobak
291 / 171 / 46
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
26.01.2013, 15:13 7
Вы очевидно Python 3.x используете.
Такой код должен исполняться
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
massiv = [5,6,3,6,7,4,10]
print (massiv)
len_massiv = len(massiv)
 
for j in range(len_massiv):
    for i in range(len_massiv-1):
        if massiv[i] > massiv[i+1]:
            a = massiv[i]
            b = massiv[i+1]
            massiv[i] = b
            massiv[i+1] = a
            print (massiv)
            break
 
for j in range(len_massiv):        
    for i in range(len_massiv-1, 0, -1):
        if massiv[i-1] > massiv[i]:
            a = massiv[i]
            b = massiv[i-1]
            massiv[i] = b
            massiv[i-1] = a
            print (massiv)
            break
1
MC_ANDREW
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 21
27.01.2013, 13:27  [ТС] 8
да у меня питон 3 спасибо

Добавлено через 3 минуты
вот только я ведь просил - по убыванию

Добавлено через 50 секунд
и чтобы все было вот так
Формат входных данных

В одной строке через пробел задаются N целых чисел – это элементы массива.
Формат результата

Вывести получившийся массив через пробелы.
0
Hrobak
291 / 171 / 46
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
27.01.2013, 13:48 9
Python
1
2
3
4
5
6
7
massiv=list(map(int,input().split()))
length=len(massiv)
for i in range (length-1):
    for j in range (i+1,length):
        if (massiv[i]<massiv[j]):
            massiv[i],massiv[j]=massiv[j],massiv[i]
print (' '.join(map( str, massiv )))
Просто вводите числа через пробел - N вводить не нужно
1
MC_ANDREW
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 21
27.01.2013, 14:07  [ТС] 10
вот, наконец - то, спасибо
0
Педагогиня
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 50
14.12.2016, 08:40 11
а как это преобразовать для делфи? какие компоненты вводить?
0
14.12.2016, 08:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2016, 08:40

Отсортировать одномерный массив методом пузырька по убыванию
Помогите построить программы: 1. Нужно отсортировать одномерный массив методом...

Отсортировать одномерный массив по убыванию методом «пузырька»
Отсортировать одномерный массив по убыванию методом «пузырька». Заранее...

Отсортировать одномерный массив действительных чисел методом пузырька (по убыванию)
Отсортировать одномерный массив действительных чисел методом пузырька (по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru