Прямоугольная матрица, подматрицы сумма цифр крайних элементов - Pascal ABC

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

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

Доброго времени суток! С толкнулся вот с такой задачей:"В прямоугольной матрице выявить все подматрицы,в углах которых расположены элементы, сумма цифр которых одинакова.".Думаю над этой задачей уже дня 2, читал много форумов, но к сожалению моих знаний недостаточно чтобы хоть что нибудь понять, а работу скоро сдать нужно.Надеюсь на вашу помощь!Заранее спасибо!

Решение задачи: «Прямоугольная матрица, подматрицы сумма цифр крайних элементов»

textual
Листинг программы
uses crt;
const max=10;
function sum(a:integer):integer;
var b,s:integer;
begin
b:=abs(a);
s:=0;
while b>0 do
 begin
  s:=s+b mod 10;
  b:=b div 10;
 end;
sum:=s;
end;
var a:array[1..max,1..max] of integer;
    m,n,i,j,ii,jj,k:byte;
begin
randomize;
repeat
write('Количество строк от 2 до ',max,' m=');
readln(m);
until m in [2..max];
repeat
write('Количество столбцов от 2 до ',max,' n=');
readln(n);
until n in [2..max];
writeln('Введите элементы матрицы,');
writeln('в том числе числе минимум 4 числа с одинаковрой суммой цифр');
for i:=1 to m do
for j:=1 to n do
 begin
  write('a[',i,',',j,']=');
  readln(a[i,j]);
 end;
clrscr;
writeln('Матрица');
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
k:=0;
for i:=1 to m-1 do
for j:=1 to n-1 do
for ii:=i+1 to m do
for jj:=j+1 to n do
if (sum(a[i,j])=sum(a[ii,j]))and(sum(a[i,j])=sum(a[i,jj]))
and(sum(a[i,j])=sum(a[ii,jj]))and(sum(a[i,j])=sum(a[ii,j])) then
 begin
  k:=1;
  writeln('Подматрица [',i,',',j,']-[',ii,',',jj,']');
 end;
if k=0 then writeln('Подматриц по условию нет');
end.

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

В данном коде используется язык программирования Pascal ABC. Он предназначен для создания прямоугольных матриц и проверки наличия подматриц с заданными условиями. Переменные в коде:

  1. b - абсолютный значение числа a.
  2. s - сумма цифр крайних элементов.
  3. a - матрица размером m x n.
  4. m - количество строк матрицы.
  5. n - количество столбцов матрицы.
  6. i - номер строки матрицы.
  7. j - номер столбца матрицы.
  8. ii - индекс внутреннего элемента матрицы.
  9. jj - индекс внутреннего элемента матрицы.
  10. k - номер подматрицы. Код начинается с определения функции sum, которая вычисляет сумму цифр крайних элементов числа a. Затем определяется массив a размером m x n. Далее происходит чтение значений элементов матрицы с помощью функции readln. Затем идет цикл, который проверяет каждую подматрицу размером m-1 x n-1. Если сумма цифр крайних элементов подматрицы равна сумме цифр крайних элементов других подматриц, то переменная k устанавливается в 1, и выводится название подматрицы. В конце кода выводится сообщение о наличии или отсутствии подматриц, удовлетворяющих условию.

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


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

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

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