Прямоугольная матрица, подматрицы сумма цифр крайних элементов - 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. Он предназначен для создания прямоугольных матриц и проверки наличия подматриц с заданными условиями. Переменные в коде:
- b - абсолютный значение числа a.
- s - сумма цифр крайних элементов.
- a - матрица размером m x n.
- m - количество строк матрицы.
- n - количество столбцов матрицы.
- i - номер строки матрицы.
- j - номер столбца матрицы.
- ii - индекс внутреннего элемента матрицы.
- jj - индекс внутреннего элемента матрицы.
- k - номер подматрицы. Код начинается с определения функции sum, которая вычисляет сумму цифр крайних элементов числа a. Затем определяется массив a размером m x n. Далее происходит чтение значений элементов матрицы с помощью функции readln. Затем идет цикл, который проверяет каждую подматрицу размером m-1 x n-1. Если сумма цифр крайних элементов подматрицы равна сумме цифр крайних элементов других подматриц, то переменная k устанавливается в 1, и выводится название подматрицы. В конце кода выводится сообщение о наличии или отсутствии подматриц, удовлетворяющих условию.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д