Требуется поменять местами первый элемент массива с максимальным.
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).
Вывести получившийся массив. Если максимальных элементов несколько, требуется поменять первый из них.
5 1 2 3 4 5
5 2 3 4 1
Требуется отсортировать массив по неубыванию методом "выбор максимума".
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).
Вывести получившийся массив.
2 3 1
1 3
Фирма Macrohard получила заказ от армии одной страны на реализацию комплекса программного обеспечения для нового суперсекретного радара. Одной из наиболее важных подпрограмм в разрабатываемом комплексе является процедура сортировки.
Однако в отличие от обычной сортировки, эта процедура должна сортировать не произвольный массив чисел, который передается ей на вход, а специальный заранее заданный массив из \(N\) чисел, в котором записана некоторая фиксированная перестановка чисел от 1 до \(N\), и кроме того, ни одно число в нем изначально не находится на своем месте (то есть на позиции с номером i изначально не находится число \(i\)).
В связи с повышенными требованиями к надежности комплекса в процессе сортировки разрешается выполнять единственную операцию - менять местами два соседних элемента массива. Кроме того, в связи с необходимостью соответствия уставу, не разрешается изменять положение числа, которое уже находится на своем месте.
Например, если массив из 6 элементов в некоторый момент имеет вид <2, 1, 3, 6, 4, 5>, то можно поменять местами 1 и 2, 6 и 4 или 4 и 5, а менять местами 1 и 3 или 3 и 6 нельзя, поскольку число 3 находится на своем месте (на позиции с номером 3).
Вам дан входной массив и поставлено важное задание. Найти последовательность обменов (не обязательно кратчайшую), сортирующую массив и удовлетворяющую приведенным условиям.
Подсказка
Найти такую последовательность обменов всегда возможно.
В первой строке вводится целое число \(N\) - размер входного массива (1 <= \(N\) <= 100). Вторая строка содержит \(N\) целых чисел - исходную перестановку чисел от 1 до \(N\) в массиве. Изначально ни одно число не стоит на своем месте.
Выведите \(K\) строк, где \(K\) - количество обменов в Вашей сортировке. На каждой строке выведите по два числа \(x_i\) и \(y_i\), разделенных пробелом - позиции в массиве, числа на которых следует поменять местами на i-ом обмене. Помните, что должно выполняться условие |\(x_i\) - \(y_i\)| = 1 и что нельзя перемещать число, которое уже стоит на своем месте.
В приведенном примере массив последовательно имеет следующий вид:
исходный вид массива
2 3 1 6 4 5
поменяли местами числа на 2 и 3 позициях
2 1 3 6 4 5
поменяли местами числа на 1 и 2 позициях
1 2 3 6 4 5
поменяли местами числа на 4 и 5 позициях
1 2 3 4 6 5
поменяли местами числа на 5 и 6 позициях
1 2 3 4 5 6
6 2 3 1 6 4 5
2 3 1 2 4 5 5 6
Дано натуральное четырехзначное число. Найдите минимальное натуральное четырехзначное число, состоящее из тех же цифр, что и заданное. Заметим, что четырехзначные числа не могут начинаться с нуля.
Вводится натуральное четырехзначное число.
Выведите минимальное натуральное четырехзначное число, состоящее из тех же цифр.
1513
1135
Дан список целых чисел.Выведите все элементы этого списка в порядке невозрастания значений.Выведите новый список на экран.
Решите эту задачу при помощи алгоритма сортировки выбором.Решение оформите в виде функции SelectionSort(A).
В алгоритме сортировки выбором мы находим наибольший элемент в списке и ставим его на первое место, затем находим наибольший элемент из оставшихся и ставим его на второе место и т.д.
1 4 2 3 4
4 4 3 2 1