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

Сортировка массива по схеме

20.07.2022, 22:51. Показов 719. Ответов 5

Студворк — интернет-сервис помощи студентам
Задана квадратная матрица n*n. Необходимо рандомно заполнить матрицу и отсортировать по указанной схеме.Выполнить сортировку по убыванию. Я так понял, что нужно вычислить закономерность по которой двумерный массив в одномерный переделывать и сортировать, но у меня не получается.
Название: Снимок экрана 2022-07-08 190427.png
Просмотров: 106

Размер: 30.9 Кб
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.07.2022, 22:51
Ответы с готовыми решениями:

Сортировка Массива по блок схеме сделать программу
Добрый вечер уважаемые, помогите сделать программу по блок схеме(в блок схеме паскаль) а мне нужен Python. 1. По представленным...

Сортировка массива каждым из 3 способов (пузырьковая сортировка, сортировка выбором, сортировка вставкой)
1. Напишите программу, которая выполняет следующие функции: • заполнение элементов массива вещественными числами с заданной ...

Сортировка массива по заданной схеме
Народ помоги нужно произвести сортировку массива вставками по схеме 1 2 6 7 3 5 8 13 4 9 12 14 10 11 15 16 не использую...

5
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
21.07.2022, 04:24
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
from random import randint
 
def snake(arr):
    n = len(arr)
    matrix = [[0]*n for _ in range(n)]
    lst = (elem for elem in sorted(sum(arr, [])))
 
    for k in range(2*n):
        tmp = min(k, n-1)
        for j in range(tmp, -1, -1):
            if k%2:
                row = k-j
                col = j 
            else:
                row = j 
                col = k-j
            
            if row < n and col < n:
                matrix[n-1-row][col] = next(lst)
 
    return matrix
 
 
n = 5
a = [[randint(10,99) for c in range(n)] for r in range(n)]
for row in a:
    print(*row)
print()
 
 
for row in snake(a):
    print(*row)
2
2 / 3 / 0
Регистрация: 29.12.2021
Сообщений: 52
21.07.2022, 09:22
А проще есть варианты?
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
21.07.2022, 19:48
kuchak, а в чем вы простоту измеряете?
1
2 / 3 / 0
Регистрация: 29.12.2021
Сообщений: 52
24.07.2022, 09:43
Господа, зашел в тупик. Кое-как вымучил код, который работает правильно только при пошаговой отладке. При простом запуске в нижнем правом угле выдает 49, должно быть 27.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
arr=[]
count=0
N=7
for i in range(N):
    arr.append([])
    for j in range(N):
        #count+=1
        arr[i].append(count)
 
print(*arr, sep='\n')
 
# Начало взрыва мозга, обратный отсчет
#
i=6
j=0
k=1
z=1
 
counter=0
print(arr[i][j])
 
 
 
# Новая попытка
for n in range(N*2):
    if i>j:
        if i==6 and j==n:
            arr[i][j]=counter
            counter+=1
            continue
        if n%2:
            j+=z
            arr[i][j]=counter
            counter+=1
            z=-1
            g=j
            for m in range(g):#
                i+=z
                j+=z
                arr[i][j]=counter
                counter+=1
        if not n%2:
            i+=z
            arr[i][j]=counter
            counter+=1
            z=1
            g=i
            for m in range(g,N-1):
                i+=z
                j+=z
                arr[i][j]=counter
                counter+=1
 
    else:
        if n%2:
            i-=z
            arr[i][j]=counter
            counter+=1
            z=-1
            g=i
            for m in range(g):
                i+=z
                j+=z
                arr[i][j]=counter
                counter+=1
 
        if not n%2:
            j-=z
            arr[i][j]=counter
            counter+=1
            z=1
            g=j
            for m in range(g, N-1):
                i+=z
                j+=z
                arr[i][j]=counter
                counter+=1
 
print(*arr, sep='\n')
Что у меня с головой- не так! Есть надежда?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.07.2022, 09:54
Цитата Сообщение от kuchak Посмотреть сообщение
Что у меня с головой- не так! Есть надежда?
Безусловно есть! Если ты сам пытаешься что-то сделать - результат будет. Инфа 100%
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2022, 09:54
Помогаю со студенческими работами здесь

Сортировка массива. Написать программу по блок-схеме
Написать программу по блок схеме Мой не рабочий вариант, еще вопрос, как поставить логический оператор &quot;И&quot; ?

Сортировка простыми вставками двумерного массива по схеме с++
Добрый день, прохожу тему сортировок наткнулась на такое задание, помогите реализовать. Задание: нужно отсортировать двумерный массив...

Сортировка квадратной матрицы по схеме
Нужно отсортировать снизу вверх каждый столбец от меньшего к большему вот условия задачи: 1 -&gt; что сортировать, 2 -&gt; схема...

Сортировка квадратной матрицы по схеме
Алгоритм должен отсортировать левый нижний угол квадратной матрицы от большего к меньшему. Сортировка матрицы - гномья. Т.е. Было: 1...

Сортировка массивов по заданной блок схеме
Помогите пожалуйста!! Нужно написать программу сортировки массивов методом прямого включения, по блок схеме на картинке.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru