[ dzeki @ 19.02.2004. 19:07 ] @
Imam problem sa matricama u pascalu, jer sam pocetnik pa moli za pomoc ali nijesam losi pocetnik.
naprimer

Data je matrica A(NxN).Napisati program za formiranje niza d[1], d[2],... d[n], gde je d[1] suma na glavnoj dijagonali d[2] suma elemenata na prvoj dijagonalnoj paraleli donjeg trougla matrice, d[3] suma elemenata na drugoj dijagonalnoj paraleli, itd.

unapred hvala
[ del-boy @ 19.02.2004. 19:56 ] @
ovo sam uradio nabrzinu. ni meni se ne sviđa onaj uslov kako prepoznaje članove dijagonala, ali nisam imao vremena da tražim nešto jednostavnije!

Code:

program matrica;
{
by del-boy
}
uses crt;
var i,j,n,x,z:integer;
    a:array[1..100,1..100] of integer;
    d:array[1..100] of integer;
begin
clrscr;
repeat
  begin
  write('n=');
  readln(n);
  if (n<=0) then writeln('GRESKA! Unesite n ponovo...');
  end;
until (n>0);
for i:=1 to n do
  for j:=1 to n do
    begin
      write('a[',i,',',j,']=');
      readln(a[i,j]);
    end;
x:=0;
while x<=n do
begin
  x:=x+1;
  d[x]:=0;
  z:=0;
  for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        if ((2*n-z)-2*(n-i)=x+j) then d[x]:=d[x]+a[i,j];
      end;
    z:=z+1;
  end;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]);
writeln;
end;
writeln;
for i:=1 to n do writeln(d[i]);
end.