Доброго времени суток. Помогите с решением задачи, ума не приложу как делать.
Составить подпрограмму определения суммы элементов одномерного массива. Используя ее, вычислить сумму элементов матрицы.
Составить подпрограмму
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Вот здесь http://forum.developing.ru/showthread.php?t=17118
есть для PascalABC.Net подпрограммы нахождения Min/Max.
Сумма-то попроще будет.
Сообразите как переделать?
есть для PascalABC.Net подпрограммы нахождения Min/Max.
Сумма-то попроще будет.
Сообразите как переделать?
Мне кажется в простейшем варианте может выглядеть так:
[syntax=pascal]
type vect=array[1..3] of real;
var a:array[1..3,1..3] of real;
b:vect;
i,j:byte;
MainSum:real;
function SumVector(vector:vect):real;
var ind:byte;
sum:real;
begin
sum:=0;
for ind:=1 to 3 do sum:=sum+vector[ind];
SumVector:=sum;
end;
begin
writeln('vvodite elementy matricy: ');
MainSum:=0;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
write('-> ');
readln(a[i,j]);
b[j]:=a[i,j];
end;
MainSum:=MainSum+SumVector(b);
end;
writeln(MainSum:6:2);
readln;
end.
[/syntax]
[syntax=pascal]
type vect=array[1..3] of real;
var a:array[1..3,1..3] of real;
b:vect;
i,j:byte;
MainSum:real;
function SumVector(vector:vect):real;
var ind:byte;
sum:real;
begin
sum:=0;
for ind:=1 to 3 do sum:=sum+vector[ind];
SumVector:=sum;
end;
begin
writeln('vvodite elementy matricy: ');
MainSum:=0;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
write('-> ');
readln(a[i,j]);
b[j]:=a[i,j];
end;
MainSum:=MainSum+SumVector(b);
end;
writeln(MainSum:6:2);
readln;
end.
[/syntax]
Функция SumVector принимает копию vector, а не ссылку на него. Был бы преподом - за одно это поставил бы не 5, а 2. И лишил бы права разрабатывать програмные продукты для общества на год 

It's a long way to the top if you wanna rock'n'roll
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
somewhere, ты прав, но надо быть снисходительнее. 
Написать SumVector(const vector:vect) нельзя, так как неизвестно что это. А если это 7 Pascal? Написать SumVector(var vector:vect) оптимально, но тоже как-то строго говоря не совсем правильно, так как процедура получает доступ к данным, которые не должна мочь поменять.

Написать SumVector(const vector:vect) нельзя, так как неизвестно что это. А если это 7 Pascal? Написать SumVector(var vector:vect) оптимально, но тоже как-то строго говоря не совсем правильно, так как процедура получает доступ к данным, которые не должна мочь поменять.