somebody_now » 23 окт 2007, 14:12
Нужно изменить структуру алгоритма так, чтобы количество используемых операторов цикла в программе было минимальным. Можно ли добиться уменьшения количества форов по сравнению с исходным вариантом?
Код: Выделить всё
program proizv_matric;
var n,m,r:integer;
i,j,k:integer;
a,b,c:array[1..15,1..15] of real;
begin
write('zadaite pr-ie dvuh matric');
readln(m,n,r);
write('zadaite A postrochno');
for i:=1 to m do
for j:=1 to n do
read(a[i,j]);
write('zadaite B postrochno');
for j:=1 to n do
for k:=1 to r do
read(b[j,k]);
for i:=1 to m do {вот цикл к-рый имхо можно убрать}
for k:=1 to r do {всё равно на суть проги не влияет,}
c[i,k]:=0; {а что ещё и можно ли не догадываюсь}
for i:=1 to m do
for k:=1 to r do
begin
for j:=1 to n do
c[i,k]:=c[i,k]+a[i,j]*b[j,k];
{writeln('c[',i:2,',',k:2,']=',c[i,k]:7:3);}
end;
for i:=1 to n do
begin
for k:=1 to r do
begin
write('c[',i:2,',',k:2,']=',c[i,k]:7:3);
end;
writeln;
end;
readln;
readln;
end.
Собсно коммент в проге
Нужно изменить структуру алгоритма так, чтобы количество используемых операторов цикла в программе было минимальным. Можно ли добиться уменьшения количества форов по сравнению с исходным вариантом?
[code]program proizv_matric;
var n,m,r:integer;
i,j,k:integer;
a,b,c:array[1..15,1..15] of real;
begin
write('zadaite pr-ie dvuh matric');
readln(m,n,r);
write('zadaite A postrochno');
for i:=1 to m do
for j:=1 to n do
read(a[i,j]);
write('zadaite B postrochno');
for j:=1 to n do
for k:=1 to r do
read(b[j,k]);
for i:=1 to m do {вот цикл к-рый имхо можно убрать}
for k:=1 to r do {всё равно на суть проги не влияет,}
c[i,k]:=0; {а что ещё и можно ли не догадываюсь}
for i:=1 to m do
for k:=1 to r do
begin
for j:=1 to n do
c[i,k]:=c[i,k]+a[i,j]*b[j,k];
{writeln('c[',i:2,',',k:2,']=',c[i,k]:7:3);}
end;
for i:=1 to n do
begin
for k:=1 to r do
begin
write('c[',i:2,',',k:2,']=',c[i,k]:7:3);
end;
writeln;
end;
readln;
readln;
end.[/code]
Собсно коммент в проге