Помощь - Поиск - Пользователи - Календарь
Полная версия: задача на матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Дмитрий
Задача : дана матрица 9 на 9 . вычислить сумму диагоналей и тех, что их окаймляют(я думаю поняли). Вот мое решение:
Код
program Matrica;
const n=9;
var
i,j:integer;
s1,s2,s3,s4,s5,s6,s:real;
a:array[1..n,1..n]of integer;
BEGIN
for i:=1to n do
for j:=1to n do
begin
writeln('vvedite a[',i,',',j,']:');
readln(a[i,j]);
end;
s1:=0;s2:=0;j:=2;
for i:=1 to n-1 do
begin
s1:=s1+a[i,j];
s2:=s2+a[j,i];
j:=j+1;
end;
s3:=0;
j:=1;
for i:=1 to n do
begin s3:=s3+a[i,j];
j:=j+1;
end;                {glavnaya diagonal i ee okaimlenie}
s4:=0; i:=1;
for j:=n downto 1 do
begin
if (i=round(n/2)) or (j=round(n/2)) then
 else
s4:=s4+a[i,j];
i:=i+1;
end;
s5:=0; s6:=0;
i:=1;
for j:=n-1 downto 1 do
begin if (i=round(n/2)) or (j=round(n/2)) then  {chtoby 2 raza ne scnitalo}
else begin
s5:=s5+a[i,j];
s6:=s6+a[i+1,j+1];
i:=i+1;end;
end;                  {pobochnaya diagonal i ee okaimlenie}
s:=s1+s2+s3+s4+s5+s6;
writeln('s=',s:6:2);
END.


Подскажите, где поставить randomize и random, а то вводить очень долго и чтоб генерировало только 2-значные числа.
Может кто знает более простое решение этой задачи.
Заранее спасибо за помощь!!!
Булат Шакиров
Код
program Matrica;
const n=9;
var
i,j:integer;
s1,s2,s3,s4,s5,s6,s:real;
a:array[1..n,1..n]of integer;
BEGIN
{*****}Randomize;{*****}
for i:=1to n do
for j:=1to n do
{*****}a[i,j]:=Random(99);{*****}
s1:=0;s2:=0;j:=2;
for i:=1 to n-1 do
begin
s1:=s1+a[i,j];
s2:=s2+a[j,i];
j:=j+1;
end;
s3:=0;
j:=1;
for i:=1 to n do
begin s3:=s3+a[i,j];
j:=j+1;
end;      {glavnaya diagonal i ee okaimlenie}
s4:=0; i:=1;
for j:=n downto 1 do
begin
if (i=round(n/2)) or (j=round(n/2)) then
 else
s4:=s4+a[i,j];
i:=i+1;
end;
s5:=0; s6:=0;
i:=1;
for j:=n-1 downto 1 do
begin if (i=round(n/2)) or (j=round(n/2)) then  {chtoby 2 raza ne scnitalo}
else begin
s5:=s5+a[i,j];
s6:=s6+a[i+1,j+1];
i:=i+1;end;
end;   {pobochnaya diagonal i ee okaimlenie}
s:=s1+s2+s3+s4+s5+s6;
writeln('s=',s:6:2);
END.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.