Определить для каждого элемента позиции элементов матрицы с такой же суммой цифр - Free Pascal

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

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

Помогите найти ошибку Вот задание Пусть дана прямоугольная матрица А(n x m), элементами которой являются целые числа.Определите для каждого элемента позиции элементов матрицы с такой же суммой цифр Иногда выдает не все результаты и помогите сделать так чтобы ответ выдавался примерно так что писалось какое то число,а рядом с ним все индексы чисел с такой же суммой чисел.
uses crt;
type matr=array[1..10,1..10]of integer;
procedure summa(a:integer; var s:integer);
begin
s:=0; 
if a<10 
then s:=a 
else while a>9 do begin
s:=a mod 10+s; 
a:=a div 10; 
if a<10 then s:=s+a; 
end;
end;
 
procedure poz(ma:matr; n,m:integer); 
var i,j,i_prom,j_prom,sum,sum_prom,chislo,nom,kol:integer;
begin
nom:=1; 
for i:=1 to m do
for j:=1 to n do
begin
writeln(nom,' элемент (',ma[i,j],'): ');
chislo:=ma[i,j]; 
summa(chislo,sum); 
for i_prom:=1 to m do
for j_prom:=1 to n do
begin
chislo:=ma[i_prom,j_prom];
summa(chislo,sum_prom);
if (sum=sum_prom)and((i<>i_prom)and(j<>j_prom)) 
then begin
write('(',i_prom,' : ',j_prom,') '); 
kol:=kol+1; 
end
else write;
end;
if kol=0 then write('нету подходящих элементов'); 
kol:=0; 
writeln;
nom:=nom+1; 
end;
end;
 
var m,n,i,j:integer;
a:matr;
begin
clrscr;
randomize; 
write('Размерность (n x m): ');
readln(n,m); 
for i:=1 to m do 
begin
for j:=1 to n do 
begin
a[i,j]:=random(21); 
write(a[i,j]:3); 
end;
writeln;
end;
poz(a,n,m);
readln;
end.

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

textual
Листинг программы
      if (s[i,j]=s[ii,jj]) and ((i<>ii) or (j<>jj)) then Write(' ',ii,',',jj);

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


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

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

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