Создать новый массив, элементами которого являются суммы цифр каждого числа старого массива - Pascal ABC (15909)
Формулировка задачи:
Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Создать новый массив, элементами которого являются суммы цифр каждого числа старого массива.
Решение задачи: «Создать новый массив, элементами которого являются суммы цифр каждого числа старого массива»
textual
Листинг программы
var a, b : array[1..10, 1..10] of integer; i, j, n, m : integer; function sumOfDigits(z : integer) : integer; var x : integer; begin x := 0; while z <> 0 do begin x := x + z mod 10; z := z div 10 end; sumOfDigits := x end; BEGIN repeat write('введите размерности массива [1..10, 1..10]: '); readln(n, m); if (not (n in [1..10])) or (not (m in [1..10])) then writeln('повторите ввод') until (n in [1..10]) and (m in [1..10]); randomize; writeln('массив:'); for i := 1 to n do begin for j := 1 to m do begin a[i,j] := random(1000); write(a[i,j]:4) end; writeln end; writeln('массив сумм цифр каждого числа:'); for i := 1 to n do begin for j := 1 to m do begin b[i,j] := sumOfDigits(a[i,j]); write(b[i,j]:4) end; writeln end end.
Объяснение кода листинга программы
- Создается переменная
a
типаarray[1..10, 1..10] of integer
. Это двумерный массив, который будет использоваться для хранения чисел. - Создается функция
sumOfDigits
, которая принимает целочисленный аргументz
и возвращает сумму его цифр. В этой функции используется переменнаяx
, которая инициализируется нулем. Затем в цикле while происходит делениеz
на 10, покаz
не станет равным нулю. Каждая цифра делится на 10 и добавляется к переменнойx
. - Создается переменная
b
типаarray[1..10, 1..10] of integer
. Это второй двумерный массив, который будет использоваться для хранения сумм цифр каждого числа из первого массиваa
. - В цикле повторяется до тех пор, пока не будут введены правильные размеры массива
a
иb
. Для этого используется циклrepeat
, а также переменныеn
иm
, которые считываются с помощью функцииreadln
. Если введенные значения не соответствуют требуемым (1..10), то выводится сообщение об ошибке и цикл повторяется. - После ввода правильных размеров запускается генератор случайных чисел, чтобы заполнить массив
a
случайными числами от 0 до 999. - Выводится содержимое массива
a
и массиваb
, где каждый элементb[i,j]
представляет собой сумму цифр числаa[i,j]
. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д