Сформировать новый массив из элементов массива меньших индекса - 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
Объяснение кода листинга программы
- DEFINT A-Z - это команда, которая позволяет использовать буквы от A до Z в качестве переменных.
- CLS - очищает экран.
- N = 24 - присваивает переменной N значение 24, которое будет использоваться в дальнейшем в качестве размера массива.
- DIM A(N) - создает массив A размером N, где N равно 24.
- PRINT
Mas 1:
; - печатает сообщениеMas 1:
. - FOR i = 1 TO N - начинает цикл, который будет выполняться от i = 1 до i = N.
- *A(i) = RND 50** - присваивает элементу массива A значение, равное произведению случайного числа на 50.
- PRINT A(i); - печатает значение элемента массива A.
- FOR i = 1 TO N - начинает второй цикл, который также будет выполняться от i = 1 до i = N.
- IF A(i) < i THEN k = k + 1 - проверяет, меньше ли значение элемента массива A его индекса. Если это так, то увеличивается значение переменной k.
- IF k = 0 THEN PRINT
Elements not found!
- если значение переменной k равно 0, то печатается сообщениеElements not found!
. - DIM B(k) - создает массив B размером k, где k - это количество элементов, меньших своих индексов в массиве A.
- FOR i = 1 TO N - начинает третий цикл, который также будет выполняться от i = 1 до i = N.
- IF A(i) < i THEN B(z) = A(i): z = z + 1 - проверяет, меньше ли значение элемента массива A его индекса. Если это так, то значение этого элемента присваивается элементу массива B, а значение переменной z увеличивается на 1.
- PRINT CHR$(13);
Mas 2:
; - печатает символ новой строки и сообщениеMas 2:
. - FOR i = 1 TO z - начинает четвертый цикл, который также будет выполняться от i = 1 до i = z.
- PRINT B(i); - печатает значение элемента массива B.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д