Определить для каждого элемента позиции элементов матрицы с такой же суммой цифр - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д