Сформировать новый массив из элементов массива меньших индекса - QBasic

Узнай цену своей работы

Формулировка задачи:

Дан A(n) - массив из n элементов. Требуется сформировать новый массив из элементов массива A(n) меньших индекса. Дошел до момента, когда вычислил число элементов нового массива = k и определил (задал) новый массив B(k). Дальше - застопыр. Аналогичные темы изучил. Буду крайне благодарен за помощь!

Решение задачи: «Сформировать новый массив из элементов массива меньших индекса»

textual
Листинг программы
  1. DEFINT A-Z
  2. CLS
  3. N = 24
  4. DIM A(N)
  5. PRINT "Mas 1:";
  6. FOR i = 1 TO N
  7.    A(i) = RND * 50
  8.    PRINT A(i);
  9. NEXT
  10. FOR i = 1 TO N
  11.    IF A(i) < i THEN k = k + 1
  12. NEXT
  13. IF k = 0 THEN PRINT "Elements not found!": END
  14. DIM B(k)
  15. FOR i = 1 TO N
  16.    IF A(i) < i THEN B(z) = A(i): z = z + 1
  17. NEXT
  18. PRINT CHR$(13); "Mas 2:";
  19. FOR i = 1 TO z
  20.    PRINT B(i);
  21. NEXT

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

  1. DEFINT A-Z - это команда, которая позволяет использовать буквы от A до Z в качестве переменных.
  2. CLS - очищает экран.
  3. N = 24 - присваивает переменной N значение 24, которое будет использоваться в дальнейшем в качестве размера массива.
  4. DIM A(N) - создает массив A размером N, где N равно 24.
  5. PRINT Mas 1:; - печатает сообщение Mas 1:.
  6. FOR i = 1 TO N - начинает цикл, который будет выполняться от i = 1 до i = N.
  7. *A(i) = RND 50** - присваивает элементу массива A значение, равное произведению случайного числа на 50.
  8. PRINT A(i); - печатает значение элемента массива A.
  9. FOR i = 1 TO N - начинает второй цикл, который также будет выполняться от i = 1 до i = N.
  10. IF A(i) < i THEN k = k + 1 - проверяет, меньше ли значение элемента массива A его индекса. Если это так, то увеличивается значение переменной k.
  11. IF k = 0 THEN PRINT Elements not found! - если значение переменной k равно 0, то печатается сообщение Elements not found!.
  12. DIM B(k) - создает массив B размером k, где k - это количество элементов, меньших своих индексов в массиве A.
  13. FOR i = 1 TO N - начинает третий цикл, который также будет выполняться от i = 1 до i = N.
  14. IF A(i) < i THEN B(z) = A(i): z = z + 1 - проверяет, меньше ли значение элемента массива A его индекса. Если это так, то значение этого элемента присваивается элементу массива B, а значение переменной z увеличивается на 1.
  15. PRINT CHR$(13); Mas 2:; - печатает символ новой строки и сообщение Mas 2:.
  16. FOR i = 1 TO z - начинает четвертый цикл, который также будет выполняться от i = 1 до i = z.
  17. PRINT B(i); - печатает значение элемента массива B.
  18. Код завершается.

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


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

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

10   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы