Создать новый массив, элементами которого являются суммы цифр каждого числа старого массива - 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.

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

  1. Создается переменная a типа array[1..10, 1..10] of integer. Это двумерный массив, который будет использоваться для хранения чисел.
  2. Создается функция sumOfDigits, которая принимает целочисленный аргумент z и возвращает сумму его цифр. В этой функции используется переменная x, которая инициализируется нулем. Затем в цикле while происходит деление z на 10, пока z не станет равным нулю. Каждая цифра делится на 10 и добавляется к переменной x.
  3. Создается переменная b типа array[1..10, 1..10] of integer. Это второй двумерный массив, который будет использоваться для хранения сумм цифр каждого числа из первого массива a.
  4. В цикле повторяется до тех пор, пока не будут введены правильные размеры массива a и b. Для этого используется цикл repeat, а также переменные n и m, которые считываются с помощью функции readln. Если введенные значения не соответствуют требуемым (1..10), то выводится сообщение об ошибке и цикл повторяется.
  5. После ввода правильных размеров запускается генератор случайных чисел, чтобы заполнить массив a случайными числами от 0 до 999.
  6. Выводится содержимое массива a и массива b, где каждый элемент b[i,j] представляет собой сумму цифр числа a[i,j].
  7. Конец программы.

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


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

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

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