Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 07.12.2021
Сообщений: 11

Сортировка значений в двухмерном массивом

23.04.2022, 20:56. Показов 451. Ответов 8

Студворк — интернет-сервис помощи студентам
1. Дано код для создания массива:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import random 
 
column = 5
lines = 5
 
 
masive = []
for i in range(lines):
    masive.append([0] * column)
 
for i in range(lines):
    for j in range(column):
        masive[i][j] = random.randint(-1000, 1000)
 
for row in masive:
    for elem in row:
        print([elem], end=' ')
    print()
2. В каждом столбце массива разместить сначала все положительные элементы, затем все отрицательные, а затем нулевые элемент
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2022, 20:56
Ответы с готовыми решениями:

В двухмерном массиве, рассчитать сумму в одной функции и произведение значений элементов
Ввести двумерный массив размерностью 5х6(обычный не динамический и работа с ним без использования указателей). Рассчитать в одной...

В двухмерном массиве элементы каждой строки упорядочить по уменьшению значений элементов
вывести начальный массив, потом вывести преобразованый массив

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

8
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
23.04.2022, 21:26
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random
 
column = 5
lines = 5
 
 
masive = []
for i in range(lines):
    masive.append([0] * column)
 
for i in range(lines):
    for j in range(column):
        masive[i][j] = random.randint(-1000, 1000)
 
for row in masive:
    v = [i for i in row if i > 0] +\
    [i for i in row if i < 0] +\
    [i for i in row if i == 0]
    print(v, end=' ')
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
23.04.2022, 21:26
MarchukA,
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
import random 
 
column = 5
lines = 5
 
 
masive = []
for i in range(lines):
    masive.append([0] * column)
 
for i in range(lines):
    for j in range(column):
        masive[i][j] = random.randint(-1000, 1000)
 
for row in masive:
    for elem in row:
        print([elem], end=' ')
    print()
    
print('=' * 30)
    
for i, r in enumerate(masive):
    masive[i] = [e for e in r if e > 0] + [e for e in r if e < 0] +[e for e in r if e == 0]
    
for row in masive:
    for elem in row:
        print([elem], end=' ')
    print()
1
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
23.04.2022, 21:31
В каждом столбце.
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
23.04.2022, 21:45
Jabbson, Спасибо.
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
import random 
 
column = 5
lines = 5
 
masive = []
for i in range(lines):
    masive.append([0] * column)
 
for i in range(lines):
    for j in range(column):
        masive[i][j] = random.randint(-1000, 1000)
 
for row in masive:
    for elem in row:
        print([elem], end=' ')
    print()
    
print('=' * 30)
 
masive = list(zip(*masive))
    
for i, r in enumerate(masive):
    masive[i] = [e for e in r if e > 0] + [e for e in r if e < 0] + [e for e in r if e == 0]
    
masive = list(zip(*masive))
 
for row in masive:
    for elem in row:
        print([elem], end=' ')
    print()
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
23.04.2022, 21:50
Я тоже через транспонирование сделал.

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
import random 
 
column = 5
lines = 5
 
masive = []
for i in range(lines):
    masive.append([0] * column)
 
for i in range(lines):
    for j in range(column):
        masive[i][j] = random.randint(-1000, 1000)
 
for row in masive:
    for elem in row:
        print(f'[{elem:>4}]', end=' ')
    print()
 
masive = list(zip(*masive))
masive = [sorted(x, key=lambda x: (x==0, x<0, x>0)) for x in masive]
masive = list(zip(*masive))
 
for row in masive:
    for elem in row:
        print(f'[{elem:>4}]', end=' ')
    print()
Code
1
2
3
4
5
[-680] [-319] [-287] [ -65] [   0]
[   0] [-691] [-769] [-925] [ 537]
[-330] [-158] [ -78] [ -92] [ 195]
[-735] [-898] [  26] [   8] [ 713]
[ 546] [ 689] [  87] [   0] [-531]
Code
1
2
3
4
5
[ 546] [ 689] [  26] [   8] [ 537]
[-680] [-319] [  87] [ -65] [ 195]
[-330] [-691] [-287] [-925] [ 713]
[-735] [-158] [-769] [ -92] [-531]
[   0] [-898] [ -78] [   0] [   0]
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
23.04.2022, 21:56
Jabbson, Вы мне сломали мозг вот этой строкой
Python
1
masive = [sorted(x, key=lambda x: (x==0, x<0, x>0)) for x in masive]
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
23.04.2022, 22:00
Цитата Сообщение от anton78spb Посмотреть сообщение
Jabbson, Вы мне сломали мозг вот этой строкой

Не по теме:

сам в шоке :)

0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
24.04.2022, 01:52
Цитата Сообщение от anton78spb Посмотреть сообщение
сломали мозг вот этой строкой

Python
1
masive = [sorted(x, key=lambda x: (x==0, x<0, x>0)) for x in masive]
Ну, здесь можно и без кортежа:

Python
1
matr = [ sorted(x, key=lambda x: (x<0)+2*(x==0) ) for x in matr ]
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2022, 01:52
Помогаю со студенческими работами здесь

Сортировка массивом
Какой метод сортировки тут используется???? Можно ли как нибудь подстроить под метод подсчета??? #include &quot;stdafx.h&quot; ...

Сортировка битовым массивом
Сортировка битовым массивом Пусть даны не более 24 чисел со значениями в диапазоне от 0 до 23, например, {1, 20, 5, 9, 12, 8}. Данный...

сортировка структуры с массивом
Задача: Описать структуру Znak с полями: ИмяФамилия Знак зодиака Дата рождения(массив из 3 чисел) необходимо задать массив сост...

Работа с массивом, сортировка
Всем привет. Прохожу курсы по программированию на одной площадке. Есть задание: дан массив номеров телефона, необходимо отсеять...

Сортировка с массивом классов
Вводится массив студентов. Кол-во студентов задается с клавиатуры. О каждом студенте вводятся следующе данные: фамилия; массив из 4...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru