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

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

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

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

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

textual
Листинг программы
DEFINT A-Z
CLS
N = 24
DIM A(N)
PRINT "Mas 1:";
FOR i = 1 TO N
   A(i) = RND * 50
   PRINT A(i);
NEXT
FOR i = 1 TO N
   IF A(i) < i THEN k = k + 1
NEXT
IF k = 0 THEN PRINT "Elements not found!": END
DIM B(k)
FOR i = 1 TO N
   IF A(i) < i THEN B(z) = A(i): z = z + 1
NEXT
PRINT CHR$(13); "Mas 2:";
FOR i = 1 TO z
   PRINT B(i);
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
Похожие ответы