Не стандартная матрица и ее сумма - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д