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