В матрице найти произведение всех элементов, минимальный элемент в третьем столбце - QBasic

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

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

В матрице n x m найти произведение всех элементов, минимальный элемент в третьем столбце. Построить вектор из максимальных элементов по строкам.

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

textual
Листинг программы
  1. DEFINT A-Z
  2. CLS
  3. INPUT "Strok    : ", m       '  Спросим размерность
  4. INPUT "Stolbcov : ", n
  5.  
  6.   '  Коррекция ввода
  7. IF n < 3 THEN
  8.   n = 3: COLOR 12
  9.   PRINT "Vvedeno menshe 3 stolbcov, ispravleno na 3...": COLOR 7
  10. END IF
  11.  
  12.   '  Массивы
  13. DIM A(1 TO n, 1 TO m) AS SINGLE '  Заразервируем память(массив)
  14. DIM B(1 TO m)   '  Вектор
  15. DIM Min, Max, Pr AS DOUBLE      '  Мин эл, макс эл и индекс макс эл-та
  16.  
  17.   '  Заполним матрицу случайными числами и на экран её
  18. RANDOMIZE TIMER ' "Случайность"
  19. PRINT TAB(5); " Matrica"
  20. FOR i = 1 TO m
  21.    FOR j = 1 TO n
  22.       A(j, i) = INT(RND * 50 - 25)
  23.       PRINT USING " ###"; A(j, i);
  24.    NEXT: PRINT
  25. NEXT
  26.  
  27.   '  Ищем произведение эл-в матрицы и вектор, в
  28.   '  котором лежат максимальные эл-ты каждой строки.
  29. Pr = 1
  30. FOR i = 1 TO m      ' Цикл по строкам
  31.    '  Собираем кол-ва отриц. элементов для искомой строки
  32.    '  работаем со строкой i
  33.    Max = A(1, i)
  34.    FOR j = 1 TO n   ' Цикл по столбцам
  35.       Pr = Pr * CDBL(A(j, i))
  36.       '  Раз уж "пробегаем" всю матрицу, то сразу ищем макс элемент
  37.       IF A(j, i) > Max THEN Max = A(j, i)
  38.    NEXT
  39.    B(i) = Max
  40. NEXT
  41.  
  42.   '  Минимальный элемент в 3-ем столбце
  43. Min = A(3, 1)
  44. FOR i = 1 TO m   ' Цикл по строкам
  45.    IF A(3, i) < Min THEN Min = A(3, i)
  46. NEXT
  47.  
  48.   '  Пишем результат
  49. PRINT TAB(5); " Rezultat"
  50. PRINT TAB(2); " Proizv ="; Pr
  51. PRINT TAB(2); " Min    ="; Min
  52. PRINT TAB(5); " Vector"
  53. FOR i = 1 TO m
  54.    PRINT USING " ###"; B(i);
  55. NEXT

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

  1. Задается размерность матрицы и вектора
  2. Проверяется корректность ввода, если размерность меньше 3, то изменяется на 3
  3. Зарезервировывается память для матрицы и вектора
  4. Матрица заполняется случайными числами от -25 до 25
  5. Находится произведение всех элементов матрицы и вектор, в котором лежат максимальные элементы каждой строки
  6. Находится минимальный элемент в третьем столбце
  7. Выводятся результаты на экран

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


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

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

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

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

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

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