. Программы для векторного рисования Свойства векторных изображений Особенности векторных изображений Эффективность использования векторных изображений информатиккааа, умоляююю срошнооо!
В качестве опорного элемента выбирается какой-то из элементов отрезка массива (я в коде буду брать самый левый). Затем все элементы массива делятся на две части: все, кто меньше опорного элемента, должны стоять левее его, все, кто больше, правее. Затем всё продолжается для двух подмассивов из чисел, больших опорного элемента, и чисел, меньших опорного элемента. Процесс останавливается, если в том отрезке массива, который требуется отсортировать, один или ноль элементов.
Можно предложить такую реализацию:
def QS(A, st, end):
if end <= st:
return
base = A[st]
less = [elem for elem in A[st:end + 1] if elem < base]
equal = sum(elem == base for elem in A[st:end + 1])
greater = [elem for elem in A[st:end + 1] if elem > base]
В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов.
Максимальный из элементов массива с четными индексами
В массиве найти максимальный элемент с четным индексом.
Другая формулировка задачи: среди элементов массива с четными индексами, найти тот, который имеет максимальное значение.
Элементы массива, которые меньше среднего арифметического
Найти в массиве те элементы, значение которых меньше среднего арифметического, взятого от всех элементов массива.
Найти два наименьших (минимальных) элемента массива
В одномерном массиве целых чисел определить два наименьших элемента. Они могут быть как равны между собой (оба являться минимальными), так и различаться.
Сжать массив, удалив из него все элементы, величина которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.
Сумма модулей элементов массива, расположенных после первого отрицательного
Вычислить сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Например, в массиве [5, 3, -1, 8, 0, -6, 1] первый отрицательный элемент является третьим по счету, а сумма модулей стоящих после него элементов массива будет составлять 8 + 0 + 6 + 1 = 15.
Номер минимального по модулю элемента массива
Найти номер минимального по модулю элемента массива.
Например, в массиве [10, -3, -5, 2, 5] минимальным по модулю элементом является число 2. Его номер 4 (в языках, в которых индексация массивов начинается с нуля, его индекс будет равен 3).
Сумма цифр массива
Найти сумму всех цифр целочисленного массива. Например, если дан массив [12, 104, 81], то сумма всех его цифр будет равна 1 + 2 + 1 + 0 + 4 + 8 + 1 = 17.
Найти сумму элементов между минимальным и максимальным элементами массива
В одномерном массиве найти сумму элементов, находящихся между минимальным и максимальным элементами. Сами минимальный и максимальный элементы в сумму не включать.
Среднее арифметическое положительных элементов массива
Найти среднее арифметическое положительных элементов линейного массива.
Максимальный отрицательный элемент массива
В массиве найти максимальный отрицательный элемент. Вывести на экран его значение и позицию в массиве.
Число, чаще всего встречающееся в массиве
Определить, какое число в массиве встречается чаще всего.
Поменять местами минимальный и максимальный элементы
В массиве случайных целых чисел поменять местами минимальный и максимальный элементы.
Сдвиг массива
Сдвинуть элементы массива в указанном направлении (влево или вправо) и на указанное число шагов. Освободившиеся ячейки заполнить нулями. Выводить массив после каждого шага.
Вывести неповторяющиеся элементы массива
В массиве найти элементы, которые в нем встречаются только один раз, и вывести их на экран. То есть найти и вывести уникальные элементы массива.
Реверс массива
Переставить элементы заданного массива в обратном порядке, то есть произвести реверс массива.
Найти наибольший элемент и его порядковый номер в массиве
Заполнить одномерный массив случайными числами. Найти и вывести на экран наибольший его элемент и порядковый номер этого элемента.
Сколько элементов массива больше по модулю максимального
Создать массив из 20 элементов в диапазоне значений от -15 до 14 включительно. Определить количество элементов по модулю больших, чем максимальный.
Алгоритм быстрой сортировки подразумевает следующее.
В качестве опорного элемента выбирается какой-то из элементов отрезка массива (я в коде буду брать самый левый). Затем все элементы массива делятся на две части: все, кто меньше опорного элемента, должны стоять левее его, все, кто больше, правее. Затем всё продолжается для двух подмассивов из чисел, больших опорного элемента, и чисел, меньших опорного элемента. Процесс останавливается, если в том отрезке массива, который требуется отсортировать, один или ноль элементов.
Можно предложить такую реализацию:
def QS(A, st, end):
if end <= st:
return
base = A[st]
less = [elem for elem in A[st:end + 1] if elem < base]
equal = sum(elem == base for elem in A[st:end + 1])
greater = [elem for elem in A[st:end + 1] if elem > base]
A[st:st + len(less)] = less
A[st + len(less):st + len(less) + equal] = [base] * equal
A[st + len(less) + equal:end + 1] = greater
QS(A, st, st + len(less) - 1)
QS(A, st + len(less) + equal, end)
Но это всё выглядит не очень в стиле Питона - скорее всего, авторы курса просто бездумно скопировали задание с других языков программирования.
Сумма четных положительных элементов массива
В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов.
Максимальный из элементов массива с четными индексами
В массиве найти максимальный элемент с четным индексом.
Другая формулировка задачи: среди элементов массива с четными индексами, найти тот, который имеет максимальное значение.
Элементы массива, которые меньше среднего арифметического
Найти в массиве те элементы, значение которых меньше среднего арифметического, взятого от всех элементов массива.
Найти два наименьших (минимальных) элемента массива
В одномерном массиве целых чисел определить два наименьших элемента. Они могут быть как равны между собой (оба являться минимальными), так и различаться.
Сжать массив, удалив элементы, принадлежащие интервалу
Сжать массив, удалив из него все элементы, величина которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.
Сумма модулей элементов массива, расположенных после первого отрицательного
Вычислить сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Например, в массиве [5, 3, -1, 8, 0, -6, 1] первый отрицательный элемент является третьим по счету, а сумма модулей стоящих после него элементов массива будет составлять 8 + 0 + 6 + 1 = 15.
Номер минимального по модулю элемента массива
Найти номер минимального по модулю элемента массива.
Например, в массиве [10, -3, -5, 2, 5] минимальным по модулю элементом является число 2. Его номер 4 (в языках, в которых индексация массивов начинается с нуля, его индекс будет равен 3).
Сумма цифр массива
Найти сумму всех цифр целочисленного массива. Например, если дан массив [12, 104, 81], то сумма всех его цифр будет равна 1 + 2 + 1 + 0 + 4 + 8 + 1 = 17.
Найти сумму элементов между минимальным и максимальным элементами массива
В одномерном массиве найти сумму элементов, находящихся между минимальным и максимальным элементами. Сами минимальный и максимальный элементы в сумму не включать.
Среднее арифметическое положительных элементов массива
Найти среднее арифметическое положительных элементов линейного массива.
Максимальный отрицательный элемент массива
В массиве найти максимальный отрицательный элемент. Вывести на экран его значение и позицию в массиве.
Число, чаще всего встречающееся в массиве
Определить, какое число в массиве встречается чаще всего.
Поменять местами минимальный и максимальный элементы
В массиве случайных целых чисел поменять местами минимальный и максимальный элементы.
Сдвиг массива
Сдвинуть элементы массива в указанном направлении (влево или вправо) и на указанное число шагов. Освободившиеся ячейки заполнить нулями. Выводить массив после каждого шага.
Вывести неповторяющиеся элементы массива
В массиве найти элементы, которые в нем встречаются только один раз, и вывести их на экран. То есть найти и вывести уникальные элементы массива.
Реверс массива
Переставить элементы заданного массива в обратном порядке, то есть произвести реверс массива.
Найти наибольший элемент и его порядковый номер в массиве
Заполнить одномерный массив случайными числами. Найти и вывести на экран наибольший его элемент и порядковый номер этого элемента.
Сколько элементов массива больше по модулю максимального
Создать массив из 20 элементов в диапазоне значений от -15 до 14 включительно. Определить количество элементов по модулю больших, чем максимальный.
Удаление отрицательных элементов массива
Определить индексы четных элементов массива