Сложение чисел, заданных в массиве - QBasic
Формулировка задачи:
Помогите пожалуйста решить задачу))
Своими цифрами в массивах K(M) и L(N) заданы 2 целых числа в p-ичной системе счисления(p<=10)Найти в таком же виде их сумму, не вычисляя самих чисел.
Решение задачи: «Сложение чисел, заданных в массиве»
textual
Листинг программы
- CLS
- INPUT "vvedite p"; p
- INPUT "vvedite m,n"; m, n
- IF m > n THEN q = m ELSE q = n
- DIM k(q), l(q)
- PRINT "vvedite 1 chislo"
- FOR i = q - m + 1 TO q
- INPUT k(i)
- NEXT
- PRINT "vvedite 2 chislo"
- FOR i = q - n + 1 TO q
- INPUT l(i)
- NEXT
- FOR i = q TO 1 STEP -1
- w = 0
- w = k(i) + l(i) + r
- IF w >= p THEN r = w \ p: w = w MOD p ELSE r=0
- c$ = LTRIM$(STR$(w)) + c$
- IF i = 1 AND r <> 0 THEN c$ = LTRIM$(STR$(r)) + c$
- NEXT
- PRINT c$
Объяснение кода листинга программы
В этом коде:
- Пользователю предлагается ввести два числа, m и n.
- Переменной q присваивается значение либо m, либо n, в зависимости от того, какое из этих чисел больше.
- Создаются два массива k и l, размерностью q.
- Пользователю предлагается ввести q чисел в массив k.
- Затем пользователю предлагается ввести q чисел в массив l.
- Происходит три прохода по массивам k и l.
- На каждом проходе суммируются соответствующие элементы массивов k и l, и результат приводится к целому числу, учитывая остаток от деления на p.
- Если полученная сумма больше или равна p, то остаток от деления этой суммы на p присваивается переменной r, а сама сумма циклически сдвигается вправо на p позиций.
- Полученное значение r добавляется к строке c$, которая содержит результат предыдущего вычисления.
- Если i = 1 и r не равно 0, то к c$ добавляется строка, представляющая число r.
- Выводится значение c$.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д