01.02.2010, 09:11
общий
это ответ
Здравствуйте, angel.nero!
Решение задач в приложении.
Приложение:
а).
uses crt;
const n=9;
var a:array[1..n,1..n] of real;
s:real;
i,j:byte;
begin
clrscr;
randomize;
writeln('Массив:');
s:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=10*random;
if(i=1)or(i=n)or(j=1)or(j=n)then{периметр матрицы}
begin
textcolor(10);{выделим цветом}
write(a[i,j]:5:2);
s:=s+a[i,j];{посчитаем сумму}
end
else
begin
textcolor(15);{остальные цветом по умолчанию, у меня белый}
write(a[i,j]:5:2);
end;
end;
writeln;
end;
writeln;
textcolor(15);
write('Сумма в выделеной области=',s:0:2);
readln
end.
б).
uses crt;
const n=9;
var a:array[1..n,1..n] of real;
s:real;
i,j:byte;
begin
clrscr;
randomize;
writeln('Массив:');
s:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=10*random;
if(i=j)or(j=n-i+1)then{главная и побочная диагонали=крест}
begin
textcolor(10);
write(a[i,j]:5:2);
s:=s+a[i,j];
end
else
begin
textcolor(15);
write(a[i,j]:5:2);
end;
end;
writeln;
end;
writeln;
textcolor(15);
write('Сумма в выделеной области=',s:0:2);
readln
end.
в)
uses crt;
const n=9;
var a:array[1..n,1..n] of real;
s:real;
i,j,k:byte;
begin
clrscr;
randomize;
writeln('Массив:');
s:=0;
k:=n div 2+1;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=10*random;
if(j>=i)and(j<=n-i+1){верхний треугольник}
or (j<=i)and(j>=n-i+1)then{нижний треугольник}
begin
textcolor(10);
write(a[i,j]:5:2);
s:=s+a[i,j];
end
else
begin
textcolor(15);
write(a[i,j]:5:2);
end;
end;
writeln;
end;
writeln;
textcolor(15);
write('Сумма в выделеной области=',s:0:2);
readln
end.
г).
uses crt;
const n=9;
var a:array[1..n,1..n] of real;
s:real;
i,j,k:byte;
begin
clrscr;
randomize;
writeln('Массив:');
s:=0;
k:=n div 2+1;{середина матрицы нечетного порядка}
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=10*random;
if(i<=k)and(j>=k-i+1)and(j<=k+i-1){верхняя часть}
or (i>k)and(j>=i-k+1)and(j<=n-i+k) then{нижняя часть}
begin
textcolor(10);
write(a[i,j]:5:2);
s:=s+a[i,j];
end
else
begin
textcolor(15);
write(a[i,j]:5:2);
end;
end;
writeln;
end;
writeln;
textcolor(15);
write('Сумма в выделеной области=',s:0:2);
readln
end.