Создать новый массив, элементами которого являются суммы делителей каждого числа старого массива - Pascal

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

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

Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Создать новый массив, элементами которого являются суммы делителей каждого числа старого массива.

Решение задачи: «Создать новый массив, элементами которого являются суммы делителей каждого числа старого массива»

textual
Листинг программы
uses crt;
const nmax=10;
var a,b:array[1..nmax,1..nmax] of integer;
    m,n,i,j,k:byte;
    s:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to m do
    begin
     a[i,j]:=random(50)+1;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
writeln('Матрица сумм делителей:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    s:=0;
    for k:=1 to a[i,j] do
    if a[i,j] mod k=0 then s:=s+k;
    b[i,j]:=s;
    write(b[i,j]:4);
   end;
  writeln;
 end;
readln
end.

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

  1. Объявление переменных:
    • a, b: массивы для хранения исходной и результирующей матриц соответственно;
    • m, n, i, j, k: переменные для индексации матриц и выполнения операций.
  2. Цикл repeat-until для ограничения ввода количества строк и столбцов в пределах допустимого диапазона.
  3. Заполнение исходной матрицы случайными числами.
  4. Вывод исходной матрицы на экран.
  5. Цикл for для обхода элементов результирующей матрицы.
  6. Внутри цикла for для каждого элемента результирующей матрицы вычисление суммы его делителей.
  7. Заполнение результирующей матрицы значениями суммы делителей.
  8. Вывод результирующей матрицы на экран.
  9. Ожидание нажатия клавиши для завершения программы.

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


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

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

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