Включение элемента в заданную позицию массива - QBasic
Формулировка задачи:
Доброго времени суток! Суть задачи: дан массив а, состоящий из 5 элементов. Вставить между элементами a(k) и a(k-1) нулевой элемент (k-нужно задать с клавиатуры). Распечатать полученный массив.
Вот что у меня получилось, но работает не правильно. Помогите пожалуйста
Решение задачи: «Включение элемента в заданную позицию массива»
textual
Листинг программы
CLS n = 5 DIM a(1 TO n + 1) FOR i = 1 TO n PRINT "Vvedite massiv a("; i; ") = "; : INPUT "", a(i) NEXT i DO PRINT "Vvedite k (ot 2 do 5) ="; : INPUT "", k IF (k < 2) OR (k > 5) THEN PRINT "k vyhodit za predely, povtorite vvod ..." ELSE EXIT DO END IF LOOP CLS PRINT "Ishodniy massiv:" FOR i = 1 TO n PRINT USING "#######"; a(i); NEXT i: PRINT : PRINT FOR i = n + 1 TO k STEP -1 a(i) = a(i - 1) NEXT i a(k) = 0 PRINT "new massiv:" FOR i = 1 TO n + 1 PRINT USING "#######"; a(i); NEXT i: PRINT END
Объяснение кода листинга программы
- В начале программы объявляется переменная
n
со значением 5, которая будет использоваться для определения размера массива. - Затем, с помощью оператора
DIM
, создается массивa
размеромn + 1
. - Далее, в цикле
FOR
происходит вывод сообщения для ввода элемента массиваa
и его последующий ввод с помощью оператора:INPUT
. - После завершения цикла
FOR
, выполняется циклDO
, который будет повторяться до тех пор, пока введенное значение переменнойk
не будет в пределах от 2 до 5. - Внутри цикла
DO
проверяется значение переменнойk
. Если оно меньше 2 или больше 5, то выводится сообщение об ошибке и цикл повторяется. В противном случае, цикл завершается. - После завершения цикла
DO
, выполняется очистка экрана с помощью командыCLS
. - Затем выводится исходный массив
a
с помощью циклаFOR
и командыPRINT
. Для улучшения читаемости, используется форматирование с использованием символаUSING
и строки#######
. - После этого, в цикле
FOR
происходит перестановка элементов массиваa
. Начиная с элементаn + 1
, каждый элемент сдвигается на одну позицию вправо, а последний элемент обнуляется. - После завершения цикла
FOR
, выводится измененный массивa
с помощью циклаFOR
и командыPRINT
. Для улучшения читаемости, используется форматирование с использованием символаUSING
и строки#######
. - Программа завершается командой
END
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д