Массив: представить числа так, чтобы матрица стала отсортированной - QBasic

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

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

http://imgur.com/FOUzMzC

Решение задачи: «Массив: представить числа так, чтобы матрица стала отсортированной»

textual
Листинг программы
  1. CLS
  2. INPUT "N,M ="; n, m
  3. DIM A(1 TO n, 1 TO m) AS INTEGER
  4. DIM B(1 TO n * m)  AS INTEGER
  5.  
  6. FOR i = 1 TO n
  7.    FOR j = 1 TO m
  8.       A(i, j) = 20 * RND
  9.       PRINT USING "####"; A(i, j);
  10.    NEXT j
  11.    PRINT
  12. NEXT i
  13.  
  14. PRINT
  15.  
  16. FOR i = 1 TO n
  17. FOR j = 1 TO m
  18.    B(m * (i - 1) + j) = A(i, j)
  19. NEXT j
  20. NEXT i
  21.  
  22. FOR i = 1 TO n * m - 1
  23. FOR j = i + 1 TO n * m
  24.    IF B(i) > B(j) THEN SWAP B(i), B(j)
  25. NEXT j
  26. NEXT i
  27.  
  28. c = 1
  29.  
  30. FOR k = 2 TO n + m
  31. FOR i = 1 TO n
  32. FOR j = 1 TO m
  33.    IF i + j = k THEN A(i, j) = B(c): c = c + 1
  34. NEXT j
  35. NEXT i
  36. NEXT k
  37.  
  38. FOR i = 1 TO n
  39.    FOR j = 1 TO m
  40.       PRINT USING "####"; A(i, j);
  41.    NEXT j
  42.    PRINT
  43. NEXT i
  44.  
  45. END

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

В этом коде выполняется сортировка массива A методом сортировки пузырьком, после чего элементы массива B, которые были использованы для временного хранения, переносятся обратно в массив A. Вот список действий, которые происходят в коде:

  1. Ввод размеров массива A с помощью функции INPUT.
  2. Инициализация массива A случайными значениями.
  3. Инициализация массива B, который будет использоваться для временного хранения.
  4. Два вложенных цикла, которые проходят по всем элементам массива A.
  5. Внутренний цикл внутри внешнего цикла проходит по всем элементам массива B.
  6. Передача значений из массива A в массив B.
  7. Два вложенных цикла, которые проходят по всем элементам массива B.
  8. Внутренний цикл внутри внешнего цикла проходит по всем элементам массива B.
  9. Если значение элемента B(i) больше значения элемента B(j), то происходит обмен значениями.
  10. Передача значений из массива B обратно в массив A.
  11. Два вложенных цикла, которые проходят по всем элементам массива A.
  12. Внутренний цикл внутри внешнего цикла проходит по всем элементам массива A.
  13. Вывод отсортированного массива A.
  14. Завершение работы программы.

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


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

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

13   голосов , оценка 3.615 из 5

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

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

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