Сформировать одномерный массив С из наименьших элементов строк матрицы - QBasic
Формулировка задачи:
Дана прямоугольная матрица А длины М строк и К столбцов, а также два числа Х и Y. Сформировать одномерный массив С из наименьших элементов строк. В массиве С поменять местами первый и последний отрицательный элементы.
Решение задачи: «Сформировать одномерный массив С из наименьших элементов строк матрицы»
textual
Листинг программы
- CLS
- RANDOMIZE TIMER
- m = 6
- k = 8
- DIM A(1 TO m, 1 TO k) AS INTEGER
- DIM C(1 TO m) AS INTEGER
- FOR i = 1 TO m
- FOR j = 1 TO k
- A(i, j) = 80 * RND - 10
- PRINT USING "####"; A(i, j);
- NEXT j: PRINT
- NEXT i: PRINT
- FOR i = 1 TO m
- C(i) = A(i, 1)
- NEXT i
- FOR i = 1 TO m
- FOR j = 1 TO k
- IF C(i) > A(i, j) THEN C(i) = A(i, j)
- NEXT j, i
- FOR i = 1 TO m
- PRINT USING "####"; C(i)
- NEXT i
- p = 0
- FOR i = 1 TO m
- IF C(i) < 0 THEN p = p + 1
- NEXT i
- ic1 = 1
- ic2 = m
- IF p >= 2 THEN
- FOR i = 1 TO m
- IF C(i) < 0 THEN ic1 = i: EXIT FOR
- NEXT i
- FOR i = m TO 1 STEP -1
- IF C(i) < 0 THEN ic2 = i: EXIT FOR
- NEXT i
- SWAP C(ic1), C(ic2)
- END IF
- FOR i = 1 TO m
- LOCATE i + 7, 10
- PRINT USING "####"; C(i)
- NEXT i
- END
Объяснение кода листинга программы
Вот что происходит в этом коде:
- Создается двухмерный массив A размером m на k (строки на столбцы).
- Создается одномерный массив C размером m.
- В каждой ячейке массива A вычисляется случайное число, которое затем записывается в соответствующую ячейку массива C.
- Происходит сортировка массива C в порядке возрастания.
- Если в массиве C есть отрицательные числа, они меняются местами с двумя наибольшими положительными числами.
- Выводится отсортированный массив C.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д