Сформировать новый массив из элементов массива меньших индекса - 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.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д