Сформировать одномерный массив С из наименьших элементов строк матрицы - QBasic

Узнай цену своей работы

Формулировка задачи:

Дана прямоугольная матрица А длины М строк и К столбцов, а также два числа Х и Y. Сформировать одномерный массив С из наименьших элементов строк. В массиве С поменять местами первый и последний отрицательный элементы.

Решение задачи: «Сформировать одномерный массив С из наименьших элементов строк матрицы»

textual
Листинг программы
  1. CLS
  2. RANDOMIZE TIMER
  3. m = 6
  4. k = 8
  5. DIM A(1 TO m, 1 TO k) AS INTEGER
  6. DIM C(1 TO m) AS INTEGER
  7.  
  8. FOR i = 1 TO m
  9. FOR j = 1 TO k
  10.    A(i, j) = 80 * RND - 10
  11.    PRINT USING "####"; A(i, j);
  12. NEXT j: PRINT
  13. NEXT i: PRINT
  14.  
  15. FOR i = 1 TO m
  16.    C(i) = A(i, 1)
  17. NEXT i
  18.  
  19. FOR i = 1 TO m
  20. FOR j = 1 TO k
  21.    IF C(i) > A(i, j) THEN C(i) = A(i, j)
  22. NEXT j, i
  23.  
  24. FOR i = 1 TO m
  25.    PRINT USING "####"; C(i)
  26. NEXT i
  27.  
  28. p = 0
  29. FOR i = 1 TO m
  30.    IF C(i) < 0 THEN p = p + 1
  31. NEXT i
  32.  
  33. ic1 = 1
  34. ic2 = m
  35.  
  36. IF p >= 2 THEN
  37.    FOR i = 1 TO m
  38.       IF C(i) < 0 THEN ic1 = i: EXIT FOR
  39.    NEXT i
  40.  
  41.    FOR i = m TO 1 STEP -1
  42.       IF C(i) < 0 THEN ic2 = i: EXIT FOR
  43.    NEXT i
  44.  
  45.    SWAP C(ic1), C(ic2)
  46. END IF
  47.  
  48. FOR i = 1 TO m
  49.    LOCATE i + 7, 10
  50.    PRINT USING "####"; C(i)
  51. NEXT i
  52.  
  53. END

Объяснение кода листинга программы

Вот что происходит в этом коде:

  1. Создается двухмерный массив A размером m на k (строки на столбцы).
  2. Создается одномерный массив C размером m.
  3. В каждой ячейке массива A вычисляется случайное число, которое затем записывается в соответствующую ячейку массива C.
  4. Происходит сортировка массива C в порядке возрастания.
  5. Если в массиве C есть отрицательные числа, они меняются местами с двумя наибольшими положительными числами.
  6. Выводится отсортированный массив C.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы