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

Отсортировать элементы массива

18.10.2023, 00:45. Показов 776. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Дан одномерный массив из 20 целых чисел. Отсортировать элементы массива по возрастанию элементов, стоящих на четных местах.
2. Дан одномерный массив из 30 целых чисел. Отсортировать элементы массива по возрастанию элементов, кратных трем.

Разобралась с первой задачей, но наполовину. Помогите, пожалуйста, вывести отсортированное значение, т.к. выводит четные позиции и None (знаю, что такое есть когда используешь sort, а не sorted, но с sorted программа не работает).

Python
1
2
3
4
5
6
7
from random import randint
n=30
mas=n*[0]
for i in range (n):
mas[i]=randint(1,100)
print(*mas[::2])
print(list.sort(mas[::2]))
И насчет второй задачи, понимаю, что идентична первой. Как "взять" для сортировки только значения кратные трем? Завести для них отдельный массив?

Заранее спасибо за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2023, 00:45
Ответы с готовыми решениями:

Отсортировать по неубыванию четные элементы массива
Дан целочисленный одномерный массив состоящий из n элементов. С помощью метода простого обмена отсортировать по неубыванию четные элементы...

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

Отсортировать по возрастанию абсолютных величин элементы массива
Помогите ,пожалуйста, написать программу без встроенных функций, простым языком Дан массив действительных чисел А(N), значения элементов...

7
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
18.10.2023, 06:19
1:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
arr = [5, 2, 9, 1, 8, 4, 7, 3, 6, 0, 11, 12, 15, 13, 14, 17, 16, 19, 18, 10]
 
even_indexes = [i for i in range(len(arr)) if i % 2 == 0] # получаем список четных индексов
 
even_values = [arr[i] for i in even_indexes] # получаем список элементов массива с четными индексами
 
even_values.sort() # сортируем список элементов массива с четными индексами
 
for i in range(len(even_indexes)):
    arr[even_indexes[i]] = even_values[i] # заменяем элементы массива на отсортированные элементы с четными индексами
 
print(arr)
 
 
Результат:
 
 
[0, 2, 5, 1, 6, 4, 7, 3, 8, 9, 10, 12, 11, 13, 14, 15, 16, 17, 18, 19]
решение ChatGPT
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
18.10.2023, 10:11
Цитата Сообщение от 09087654324567 Посмотреть сообщение
1. Дан одномерный массив из 20 целых чисел. Отсортировать элементы массива по возрастанию элементов, стоящих на четных местах.
Отсортировать, а дальше что? Вывести как отдельный массив?
Или в оригинальном массиве они должны быть отсортированы?
Вот решение, где они отсортированы между собой в оригинальном массиве.
Python
1
2
a = [5, 2, 9, 1, 8, 4, 7, 3, 6, 0, 11, 12, 15, 13, 14, 17, 16, 19, 18, 10]
a[::2] = sorted(a[::2])
Vigi, Какое же тупое решение ChatGPT предложил.

Добавлено через 1 минуту
Цитата Сообщение от 09087654324567 Посмотреть сообщение
2. Дан одномерный массив из 30 целых чисел. Отсортировать элементы массива по возрастанию элементов, кратных трем.
Здесь те же вопросы что и по первому пункту. Что делать с данными элементами после сортировки?
0
0 / 0 / 0
Регистрация: 01.10.2023
Сообщений: 7
18.10.2023, 10:22  [ТС]
Доброе утро. Вывести полученные отсортированные значения. Так что думаю, что нужно вывести отдельным массивом
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
18.10.2023, 10:38
Цитата Сообщение от 09087654324567 Посмотреть сообщение
Доброе утро. Вывести полученные отсортированные значения. Так что думаю, что нужно вывести отдельным массивом
Python
1
2
3
a = [5, 2, 9, 1, 8, 4, 7, 3, 6, 0, 11, 12, 15, 13, 14, 17, 16, 19, 18, 10]
print(sorted(a[::2]))
print(sorted(i for i in a if i % 3 == 0))
Цитата Сообщение от 09087654324567 Посмотреть сообщение
Отсортировать элементы массива по возрастанию элементов, кратных трем.
По этому пункту все равно вопросы. Формулировка мягко говоря "крайне расплывчатая". Что "кратных трем"? Индексы кратные трем? Сами элементы кратные трем?
В решении выше кратные трем сами элементы.
1
Любознательный
 Аватар для YuS_2
7406 / 2259 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
18.10.2023, 10:42
Цитата Сообщение от 09087654324567 Посмотреть сообщение
Так что думаю, что нужно вывести отдельным массивом
Это Вы предполагаете или есть какое-то условие, которое не озвучено?
Потому, что судя по тому как сформулирована задача, то сортировать надо именно элементы в исходном массиве и логично было бы получать результат выводом именно такого, измененного исходного массива, т.е. целиком, а не четные элементы. Вторая задача - то же самое, но по правилам форума, одна тема - одна задача.
0
0 / 0 / 0
Регистрация: 01.10.2023
Сообщений: 7
18.10.2023, 10:48  [ТС]
Все то, что дано это мои условия в самом начале темы. Никаких уточнений больше нет, но я более, чем уверена, что нужно вывести полученные значения. Массив у меня сортируется, вопрос в том, как его вывести. Вот я и предполагаю, как это можно сделать. Мне бы, конечно, попроще. Думаю проще будет вывести в виде измененного изначально массива.
Сама не рада формулировке. Уж, что есть - то есть
0
Любознательный
 Аватар для YuS_2
7406 / 2259 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
18.10.2023, 11:20
Цитата Сообщение от 09087654324567 Посмотреть сообщение
более, чем уверена, что нужно вывести полученные значения.
Ну так уверенность должна на чем-то основываться...
Цитата Сообщение от 09087654324567 Посмотреть сообщение
Отсортировать элементы массива по возрастанию элементов, стоящих на четных местах.
Т.е. не вычленить элементы, а отсортировать... это подразумевает, что сортируется именно тот массив, который и дан по условиям, если не оговорено какое-то другое, особенное условие.
Следуя логике, задача дается для того, чтобы обучаемый выполнил её и выдал решение на проверку. И если шла речь о сортировке элементов массива из условий, а не о сортировке полученного нового массива четных элементов из исходного, то и выводить в качестве ответа необходимо именно исходный, но отсортированный массив. Как-то так.

Добавлено через 7 минут
В любом случае, у Вас есть оба варианта, остается только выбрать...
Цитата Сообщение от anton78spb Посмотреть сообщение
Python
1
2
3
a = [5, 2, 9, 1, 8, 4, 7, 3, 6, 0, 11, 12, 15, 13, 14, 17, 16, 19, 18, 10]
a[::2] = sorted(a[::2])
print(a)
Цитата Сообщение от anton78spb Посмотреть сообщение
Python
1
2
a = [5, 2, 9, 1, 8, 4, 7, 3, 6, 0, 11, 12, 15, 13, 14, 17, 16, 19, 18, 10]
print(sorted(a[::2]))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2023, 11:20
Помогаю со студенческими работами здесь

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

Отсортировать по возрастанию четные элементы массива, нечетные оставить без сортировки
Здравствуйте! Дан массив чисел. Элементы массива вводятся с клавиатуры. Отсортировать по возрастанию четные элементы массива, нечетные...

Отсортировать все элементы массива, введенные случайным образом (n - количество элементов массива) по возрастанию
Отсортировать все элементы массива, введенные случайным образом (n - колиество элементов массива) по возрастанию. Можно полный ответ если...

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

Отсортировать элементы строк массива по возрастанию значений, а затем отсортировать строки массива по возрастанию
Отсортировать элементы строк массива по возрастанию значений, а затем отсортировать строки массива по возрастанию среднего...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
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. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru