Страница 1 из 1
Составить подпрограмму
Добавлено: 05 апр 2009, 21:28
Matias
Доброго времени суток. Помогите с решением задачи, ума не приложу как делать.
Составить подпрограмму определения суммы элементов одномерного массива. Используя ее, вычислить сумму элементов матрицы.
Re: Составить подпрограмму
Добавлено: 05 апр 2009, 22:28
Naeel Maqsudov
Вот здесь
http://forum.developing.ru/showthread.php?t=17118
есть для PascalABC.Net подпрограммы нахождения Min/Max.
Сумма-то попроще будет.
Сообразите как переделать?
Re: Составить подпрограмму
Добавлено: 06 апр 2009, 04:08
asdqwe
Мне кажется в простейшем варианте может выглядеть так:
[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]
Re: Составить подпрограмму
Добавлено: 06 апр 2009, 10:56
somewhere
Функция SumVector принимает копию vector, а не ссылку на него. Был бы преподом - за одно это поставил бы не 5, а 2. И лишил бы права разрабатывать програмные продукты для общества на год

Re: Составить подпрограмму
Добавлено: 06 апр 2009, 14:04
dr.Jekill
Вы настоящий злодей!

Вам преподом быть никак нельзя

Я думаю люди, которые "ума не приложат" как находить сумму далеки от ссылок

Re: Составить подпрограмму
Добавлено: 06 апр 2009, 15:46
Naeel Maqsudov
somewhere, ты прав, но надо быть снисходительнее.

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