Двумерная матрица: найти минимальную сумму из чисел стоящих на диагоналях параллельных побочной - Pascal

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

Дано A(6.6) Двумерная матрица из этой матрицы надо найти минимальную сумму параллельным побочной диагонали. Добавлено через 2 минуты
for i:=-6+1 to 6-1 do zum[i]:=0; 
for i:=1 to 6 do 
for j:=1 to 6 do z[i-j]:=z[i-j]+x[i,j]; 
for i:=-6+1 to 6-1 do write(z[i]);
вот так нашел параллельную побочный диагонал дальше надо найти мин сумму Добавлено через 14 минут
program gazya;
const
 n=5;
 m=6;
var a:array[1..6,1..6] of integer; 
min,i,j,s:integer;
begin
randomize;
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
a[i,j]:=random(10);
write(a[i,j]:2);
end;
writeln;
end;
for i:=1 to 6 do
s:=s+a[i,i]+a[i,6-i+1];
writeln(s);
min:=a[i-m+1,m];
       for i:=i-m+1 to m do
       for j:=i-m+1 to m do
       if (j=i-i+1)and(a[i,j]<min) then min:=a[i,j];
  writeln('min: ', min); 
end.
примерно вот так но надо параллельным побочной диагонали. а тут просто диагонал Добавлено через 38 секунд что не кто не может помочь?

Код к задаче: «Двумерная матрица: найти минимальную сумму из чисел стоящих на диагоналях параллельных побочной - Pascal»

textual
uses crt;
const n=6;
var a:array[1..n,1..n] of integer;
    i,j,k,z,sm,mn:integer;
begin
randomize;
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(20);
    write(a[i,j]:3);
   end;
  writeln;
 end;
for z:=n-1 downto -n+1 do//все диагонали, удаленные от побочной на z
 begin
  sm:=0;
  for j:=1 to n do
  if (j-z>0) and (j-z<=n) then
  sm:=sm+a[j-z,n-j+1];
  writeln('Сумма ',n-z,' = ',sm);
  if j-z=1 then mn:=sm
  else if sm<mn then mn:=sm;
 end;
writeln('Минимальная сумма на диагоналях, параллельных побочной=',mn)
end.

15   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы