Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/50: Рейтинг темы: голосов - 50, средняя оценка - 4.60
 Аватар для ahamoth
0 / 0 / 1
Регистрация: 26.11.2010
Сообщений: 111

Сортировка массива

06.11.2012, 23:27. Показов 9365. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пытаюсь отсортировать матрицу таким образом, чтобы элементы в столбах были по возрастанию. На с++ данный алгоритм работает. На питоне - нет. Что я не правильно делаю?
Python
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
29
30
31
32
33
34
35
n=3
 
arr=range(n)           
for i in range(n):
        arr[i]=range(n)
        
arr[0][0]=9
arr[0][1]=7
arr[0][2]=6
arr[1][0]=4
arr[1][1]=8
arr[1][2]=1
arr[2][0]=2
arr[2][1]=0
arr[2][2]=5
for i in range(n):
    for j in range(n):
        print arr[i][j],
    print
    
for j in range(n):
    for i in range(n):
         min=arr[i][j]
         mini=i
         k=i+1       
         for k in range(n):
            if min>arr[k][j]:
             min=arr[k][j]
             mini=k
         arr[mini][j]=arr[i][j]
         arr[i][j]=min
for i in range(n):
    for j in range(n):
        print arr[i][j],
    print
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2012, 23:27
Ответы с готовыми решениями:

Сортировка массива по значениям второго массива
Здравствуйте! Имеются два массива a, b одинаковой длины n. Массив a сортируется, и с ним же меняются значения массива b так, чтобы если...

Сортировка массива
Дан массив N целых чисел. Упорядочить по неубыванию: 1) методом "пузырька" 2) методом выбора 3) методом простых вставок 4) методом...

Сортировка массива
#сортировка массива массив = #вывод массива в строку print(массив) #сортировка массива функцией sorted() sorted(массив,...

7
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2012, 13:42
Цитата Сообщение от ahamoth Посмотреть сообщение
Python
1
2
        k=i+1       
        for k in range(n):
k перезаписывается

Добавлено через 2 минуты
Python
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
>>> n=3
>>>  
... arr=range(n)           
>>> for i in range(n):
...         arr[i]=range(n)
... 
>>> arr[0][0]=9
>>> arr[0][1]=7
>>> arr[0][2]=6
>>> arr[1][0]=4
>>> arr[1][1]=8
>>> arr[1][2]=1
>>> arr[2][0]=2
>>> arr[2][1]=0
>>> arr[2][2]=5
>>> for i in range(n):
...     for j in range(n):
...         print arr[i][j],
...     print
... 
9 7 6
4 8 1
2 0 5
>>> for j in range(n):
...     for i in range(n):
...          min=arr[i][j]
...          mini=i
...          for k in range(i + 1, n):
...             if min>arr[k][j]:
...              min=arr[k][j]
...              mini=k
...          arr[mini][j]=arr[i][j]
...          arr[i][j]=min
... 
>>> for i in range(n):
...     for j in range(n):
...         print arr[i][j],
...     print
... 
2 0 1
4 7 5
9 8 6
>>>
1
 Аватар для ahamoth
0 / 0 / 1
Регистрация: 26.11.2010
Сообщений: 111
07.11.2012, 14:02  [ТС]
А если я использую функцию сортировки то как правильно сделать? вот так не сортиует
Python
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
n=3
 
arr=range(n)           
for i in range(n):
        arr[i]=range(n)
        
arr[0][0]=9
arr[0][1]=7
arr[0][2]=6
arr[1][0]=4
arr[1][1]=8
arr[1][2]=1
arr[2][0]=2
arr[2][1]=0
arr[2][2]=5
for i in range(n):
    for j in range(n):
        print arr[i][j],
    print
    
for j in range(n):
    for i in range(n):
        arr.sort()
        newList = sorted(arr)
for i in range(n):
    for j in range(n):
        print newList[i][j],
    print
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2012, 14:43
Цитата Сообщение от ahamoth Посмотреть сообщение
А если я использую функцию сортировки то как правильно сделать?
транспонировать, отсортировать строки, транспонировать
0
 Аватар для ahamoth
0 / 0 / 1
Регистрация: 26.11.2010
Сообщений: 111
07.11.2012, 14:51  [ТС]
ну у меня только один столб сортируется. че я не так то делаю?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2012, 14:58
Цитата Сообщение от ahamoth Посмотреть сообщение
ну у меня только один столб сортируется
у тебя не код неправильный, а алгоритм
ни list.sort(), ни sorted() не будут сортировать столбцы
0
 Аватар для ahamoth
0 / 0 / 1
Регистрация: 26.11.2010
Сообщений: 111
07.11.2012, 15:27  [ТС]
получается данную функцию тут вообще нельзя применять?

Добавлено через 11 минут
или как проще всего сортировать элементы двумерного массива ?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
08.11.2012, 02:02
транспонируй матрицу, а потом сортируй её строки, а потом обратно транспонируй

wiki. транспонированная матрица
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.11.2012, 02:02
Помогаю со студенческими работами здесь

Сортировка массива
Создать программу, которая бы сортировала массив размерностями M*N заполненным случайным образом. В верхнем левом углу- наибольший элемент....

Сортировка массива
Здравствуйте, помогите, пожалуйста, используя онлайн редактор Phyton, реализовать: Создать массив, содержащий: Иванов Иван 21 год, Катя...

Сортировка массива
Я начинающий питонист и у меня возник вопрос, как правильно реализовать следуюбщее. У меня есть массив 96х96: в массиве 4 разных значения...

Сортировка массива по столбцу
Добрый день. Подскажите пожалуйста, почему не получается сортировка по третьему столбцу?(выводятся непонятные значения) И есть ли более...

Сортировка части массива
Напишите программу, которая выполняет сортировку части массива, начиная с элемента с номером K и заканчивая элементом с номером M...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru