Составить подпрограмму

Ответить
Matias
Сообщения: 3
Зарегистрирован: 05 апр 2009, 21:01

Доброго времени суток. Помогите с решением задачи, ума не приложу как делать.

Составить подпрограмму определения суммы элементов одномерного массива. Используя ее, вычислить сумму элементов матрицы.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Вот здесь http://forum.developing.ru/showthread.php?t=17118
есть для PascalABC.Net подпрограммы нахождения Min/Max.
Сумма-то попроще будет.
Сообразите как переделать?
asdqwe
Сообщения: 3
Зарегистрирован: 05 апр 2009, 19:24

Мне кажется в простейшем варианте может выглядеть так:
[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]
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Функция SumVector принимает копию vector, а не ссылку на него. Был бы преподом - за одно это поставил бы не 5, а 2. И лишил бы права разрабатывать програмные продукты для общества на год :)
It's a long way to the top if you wanna rock'n'roll
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Вы настоящий злодей! :) Вам преподом быть никак нельзя :) Я думаю люди, которые "ума не приложат" как находить сумму далеки от ссылок :)
Нет религии выше истины
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

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

Спасибо за помощь.
Ответить