Сформировать новую матрицу из тех столбцов исходной, в которой нули и единицы чередуются - QBasic
Формулировка задачи:
Задан двумерный массив А целых чисел из М строк и К столбцов.Массив состоит из нулей и единиц. Сформировать новый двумерный массив Х из тех столбцов массива А, в котором нули и единицы чередуются. Далее из массива Х удалить строки, которые начинаются с нуля.
Помогите пожалуйста!
Решение задачи: «Сформировать новую матрицу из тех столбцов исходной, в которой нули и единицы чередуются»
textual
Листинг программы
- CLS
- RANDOMIZE TIMER
- m = 4
- k = 24
- DIM A(1 TO m, 1 TO k) AS INTEGER
- DIM B(1 TO k) AS INTEGER
- FOR i = 1 TO m
- FOR j = 1 TO k
- A(i, j) = RND
- PRINT USING "###"; A(i, j);
- NEXT j: PRINT
- NEXT i: PRINT
- n = 0
- FOR j = 1 TO k
- FOR i = 1 TO m - 1
- IF A(i, j) + A(i + 1, j) <> 1 THEN 100
- NEXT i
- n = n + 1
- B(j) = 1
- 100 :
- NEXT j
- jy = 1
- IF n > 0 THEN
- DIM X(1 TO m, 1 TO n) AS INTEGER
- FOR j = 1 TO k
- IF B(j) = 1 THEN
- FOR i = 1 TO m
- X(i, jy) = A(i, j)
- NEXT i
- jy = jy + 1
- END IF
- NEXT j
- FOR i = 1 TO m
- FOR j = 1 TO n
- PRINT USING "###"; X(i, j);
- NEXT j: PRINT
- NEXT i: PRINT
- p = 0
- FOR i = 1 TO m
- IF X(i, 1) = 1 THEN p = p + 1
- NEXT i
- IF p > 0 THEN
- DIM Y(1 TO p, 1 TO n) AS INTEGER
- ix = 1
- FOR i = 1 TO m
- IF X(i, 1) = 1 THEN
- FOR j = 1 TO n
- Y(ix, j) = X(i, j)
- NEXT j
- ix = ix + 1
- END IF
- NEXT i
- END IF
- FOR i = 1 TO p
- FOR j = 1 TO n
- PRINT USING "###"; Y(i, j);
- NEXT j: PRINT
- NEXT i: PRINT
- END IF
- END
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д