Включение элемента в заданную позицию массива - 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

Объяснение кода листинга программы

  1. В начале программы объявляется переменная n со значением 5, которая будет использоваться для определения размера массива.
  2. Затем, с помощью оператора DIM, создается массив a размером n + 1.
  3. Далее, в цикле FOR происходит вывод сообщения для ввода элемента массива a и его последующий ввод с помощью оператора :INPUT.
  4. После завершения цикла FOR, выполняется цикл DO, который будет повторяться до тех пор, пока введенное значение переменной k не будет в пределах от 2 до 5.
  5. Внутри цикла DO проверяется значение переменной k. Если оно меньше 2 или больше 5, то выводится сообщение об ошибке и цикл повторяется. В противном случае, цикл завершается.
  6. После завершения цикла DO, выполняется очистка экрана с помощью команды CLS.
  7. Затем выводится исходный массив a с помощью цикла FOR и команды PRINT. Для улучшения читаемости, используется форматирование с использованием символа USING и строки #######.
  8. После этого, в цикле FOR происходит перестановка элементов массива a. Начиная с элемента n + 1, каждый элемент сдвигается на одну позицию вправо, а последний элемент обнуляется.
  9. После завершения цикла FOR, выводится измененный массив a с помощью цикла FOR и команды PRINT. Для улучшения читаемости, используется форматирование с использованием символа USING и строки #######.
  10. Программа завершается командой END.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы