Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Написать процедуру вычисляющую сумму элементов одномерного массива пригоддную для использование с любым массивом типа mas и с любым кол-вом элементов!

Автор: Help 23.12.2007 10:11

Помогите мне с паскалем напишите вычисление суммы элементов одномерного массива через процедуру.Буду очень признателен!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Автор: Зюзюка 23.12.2007 15:37

procedure(mas:ar);
var i,sum:integer;
begin
sum:=0;
for i:=1 to n do
sum:=sum+mas[i];
end;
тока через type нужно будет массив описать например type ar=array [1..n] of integer;

p.s Ну ваще я не шарю так что может не работать =))

Автор: savef5 23.12.2007 16:01

Маленькая поправочка. "Массив типа мас", а у Зюзюка - переменная мас. Да и размер массива не передаётся.

procedure(A:mas);
var
I, Sum: Integer;
begin
Sum := 0;
For I := Low(A) to High(A) do
Sum := Sum + Mas[I];
end;

Данная п/п хранит значение суммы только в подпрограмме и не передаёт его в о/п

Автор: volvo 23.12.2007 16:11

Не будет эта процедура работать по условию... Написано:

Цитата
с любым кол-вом элементов!
, чтобы этого добиться, надо использовать открытые массивы:

procedure(const A: array of mas_type; const size: integer);
var
I, Sum: Integer;
begin
Sum := 0;
For I := 0 to pred(size) do
Sum := Sum + A[I];
end;

Вот теперь процедуру можно использовать и на массиве из 10, и на массиве из 50 элементов...

Автор: Help 23.12.2007 18:17

Цитата(volvo @ 23.12.2007 12:11) *
Вот теперь процедуру можно использовать и на массиве из 10, и на массиве из 50 элементов...
а блок схему можещь нарисовать?!

Автор: Ozzя 24.12.2007 19:25

http://forum.pascal.net.ru/index.php?showtopic=4270