Заполнить случайным образом одномерный массив из n элементов и сдвинуть элементы циклически на одну позицию вправо - QBasic
Формулировка задачи:
Задача: Заполнить случайным образом одномерный массив из n элементов и сдвинуть элементы циклически на одну
позицию вправо.
На выходе имеем:
Всё-таки эту задачу я сделал. И, похоже, даже правильно,раз результат получился нужный.
Но возник вопрос:
А можно сдвинуть исходный массив на две позиции так,чтобы последний и предпоследний элементы массива оказались
на месте первого и второго. А если возможен сдвиг на две позиции, то возможен сдвиг и на три, четыре и т. д. позиции?
Как сделать это - у меня не получилось. У вас должно получиться.
Решение задачи: «Заполнить случайным образом одномерный массив из n элементов и сдвинуть элементы циклически на одну позицию вправо»
textual
Листинг программы
На выходе имеем: 6 3 12 16 6 10 19 14 15 17 17 6 3 12 16 6 10 19 14 15
Объяснение кода листинга программы
В данном коде реализована задача заполнения одномерного массива случайными значениями и его циклического сдвига на одну позицию вправо. Вот пошаговое описание действий:
- Создаем одномерный массив n из n элементов.
- Заполняем его случайными значениями.
- Сдвигаем элементы массива циклически на одну позицию вправо.
- Выводим полученный массив на экран.
Вот пример кода на языке QBasic, реализующий данную задачу:
10 CLS
20 N%=INPUT(
Введите размер массива:
) 30 A%=INPUT(Введите начальное значение элементов массива:
) 40 FOR I%=1 TO N% 50 C%.A(I%)=RND*10% 'Заполняем массив случайными значениями' 60 NEXT I% 70 FOR I%=1 TO N%-1 80 C%.A(I%)=C%.A(I%+1) 'Сдвигаем элементы массива на одну позицию вправо' 90 NEXT I% 100 PRINT C%.A(1);PRINT C%.A(2);PRINT C%.A(3);PRINT C%.A(4);PRINT C%.A(5);PRINT C%.A(6);PRINT C%.A(7);PRINT C%.A(8);PRINT C%.A(9);PRINT C%.A(10) 110 END В результате выполнения данного кода на экран будет выведен массив, элементы которого будут расположены в порядке, заданном пользователем, но с циклическим сдвигом на одну позицию вправо.