Страница 1 из 1
Двумерный массив в Паскале.
Добавлено: 02 дек 2009, 05:01
hohol
Помогите, очень нужно...
Двумерные массивы.
Дан массив A[5,5]. Найти минимальную сумму положительных элементов диагоналей, параллельных побочной.
Re: Двумерный массив в Паскале.
Добавлено: 04 дек 2009, 02:30
dr.Jekill
[syntax="pascal"]
uses crt;
const n=5;
k=n+n-1;
type mas=array[1..n,1..n] of integer;
var a:mas;
i,j:byte;
sum:array[1..k] of integer;
min_sum:integer;
begin
textmode(259);
clrscr;
for i:=1 to k do sum:=0;
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(50);
if a[i,j] div 10 > 0 then write(a[i,j],' ')
else write(a[i,j],' ');
if (a[i,j]>0) and (i+j-1<>n) then sum[i+j-1]:=sum[i+j-1]+a[i,j];
end;
writeln;
end;
{если не брать крайние элементы}
min_sum:=sum[1]; {min_sum:=sum[2];}
for i:=1 to k do {for i:=2 to k-1 do}
{необходимо заменить соотв. строки закомментированными}
begin
if i<>n then
if sum<=min_sum then
begin
min_sum:=sum;
j:=i;
end;
end;
writeln;
writeln('Minimalnaia summa: ',min_sum);
write('Nomer diagonali: ',j);
write(' (',abs(n-j),'-ia');
if (j-n)<0 then write(' vverh') else write(' vniz');
writeln(' ot pobochnoi)');
readkey;
end.
[/syntax]