Задан массив из случайных чисел.
Заменить второй и предпоследний элемент массива
В этом уроке для решения данной задачи воспользуемся языком Кумир. Пусть наш массив будет состоять из 10 элементов и содержать случайные числа.
Массив — тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом. При этом доступ к отдельным элементам массива осуществляется с помощью индексации, то есть через ссылку на массив с указанием номера (индекса) нужного элемента. За счёт этого, в отличие от списка, массив является структурой данных, пригодной для осуществления произвольного доступа к её ячейкам.
алг заменить второй предпоследний элемент массива
нач
цел N = 10
цел таб mas[1:N], цел i,k
вывод 'массив из случайных чисел:'
нц для i от 1 до N
mas[i]:=int(rnd(1)*100)
вывод ' ',mas[i]
кц
k:=mas[2]
mas[2]:=mas[N-1]
mas[N-1]:=k
вывод 'массив после замены:'
нц для i от 1 до N
вывод ' ',mas[i]
кц
кон
Пояснение
Для начала введем константу N со значением 10,т.к в задаче предполагается 10 элементов массива.
цел N = 10
Далее присваиваем массиву имя mas и вводим дополнительные переменные:
i — индексная переменная, с помощью которой будем обращаться к любому элементу массива, например mas[7]
k — переменная для замены второго элемента на предпоследний.
цел таб mas[1:N], цел i,k
Затем в цикле для (for) заполняем массив случайными числами с помощью функции int(rnd(1)*100
, которая будет выводить целые случайные числа, не превосходящие 100
Следующий этап — заменить второй и предпоследний элемент массива (перестановка). Представим, что наш в массив введены следующие случайные числа:
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
mas[i] | 87 | 14 | 69 | 39 | 72 | 54 | 23 | 19 | 73 | 97 |
Необходимо поменять местами второй и предпоследний элемент массива,т.е. число переставить местами числа 14 и 73
В переменную k записываем значение из второго элемента массива k:=mas[2]
,т.е. k=14. Во второй элемент массива записали предпоследний mas[2]:=mas[N-1]
. И теперь в предпоследний запишем то число, которое записано в переменной k mas[N-1]:=k
. После этого выводим в цикле для(for) измененный массив:
нц для i от 1 до N
вывод ' ',mas[i]
кц
Таблица будет выглядеть так:
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
mas[i] | 87 | 73 | 69 | 39 | 72 | 54 | 23 | 19 | 14 | 97 |
Данную задачу можно решить на любом языке программирования, например Паскаль.
[newsletter_signup_form id=1]