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