Включение элемента в заданную позицию массива - QBasic
Формулировка задачи:
Доброго времени суток! Суть задачи: дан массив а, состоящий из 5 элементов. Вставить между элементами a(k) и a(k-1) нулевой элемент (k-нужно задать с клавиатуры). Распечатать полученный массив.
Вот что у меня получилось, но работает не правильно. Помогите пожалуйста
Листинг программы
- CLS
- n = 5
- DIM a(1 TO n), b(1 TO n + 1)
- FOR i = 1 TO n
- INPUT "Vvedite massiv a(i)"; a(i)
- NEXT i
- INPUT "Vvedite k="; k
- FOR i = n TO k STEP -1
- a(i + 1) = a(i)
- NEXT i
- a(k) = 0
- n = n + 1
- FOR i = 1 TO n
- PRINT "new massiv"; a(i)
- NEXT i
- END
Решение задачи: «Включение элемента в заданную позицию массива»
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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д