Не стандартная матрица и ее сумма - QBasic

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

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

Дана матрица размером 4×6. Она заполнена случайными числами. Всего 48 чисел. То есть вдвое больше, чем элементов матрицы. Как это сделано? Первое число идет в качестве целой части элемента матрицы, а второе число в качестве дробной части элемента матрицы. пример, два числа 22 и 33 записать в виде одного элемента матрицы. Это можно сделать так 22,33 или так 33,22 Требуется найти "сумму матрицы" Сумма вычисляется так. Каждый элемент матрицы представляется в виде дроби. В числитель идет меньшее число, а в знаменатель большее. Пример 22,33 = 22/33. И все надо сложить. (Программа проверена) Вопрос Как еще можно представить два числа в виде одного элемента матрицы и решить эту же самую задачу?

Решение задачи: «Не стандартная матрица и ее сумма»

textual
Листинг программы
TYPE T
    n AS INTEGER ' numerator = числитель
    d AS INTEGER ' denominator = знаменатель
END TYPE
 
CLS
 
RANDOMIZE TIMER
n = 4
m = 6
DIM x(n, m) AS T
 
FOR i = 1 TO n
FOR j = 1 TO m
   x(i, j).n = FIX(40 * RND) + 1
   x(i, j).d = FIX(40 * RND) + 1
   PRINT USING "  ##/##"; x(i, j).n; x(i, j).d;
NEXT j: PRINT
NEXT i: PRINT
 
FOR i = 1 TO n
FOR j = 1 TO m
   a = x(i, j).n
   b = x(i, j).d
   IF a > b THEN SWAP a, b
   s = s + a / b
NEXT j, i
 
PRINT "S ="; s
END

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

В этом коде используется тип данных T, который определен как структура с двумя полями: n типа INTEGER (целое число) и d типа INTEGER. Затем создается матрица x размером n на m (в данном случае 4 на 6) типа T. Далее, в каждой ячейке матрицы x значения числителя и знаменателя устанавливаются равными случайным целым числам от 1 до 80 с помощью функции RND. После этого, для каждой пары чисел в матрице x проверяется, если числитель больше знаменателя, то они меняются местами с помощью команды SWAP. Затем, для каждой пары чисел в матрице x вычисляется сумма числителя и знаменателя и добавляется к общей сумме s. В конце, выводится значение переменной s.

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


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

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

12   голосов , оценка 3.917 из 5
Похожие ответы