IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Написать процедуру вычисляющую сумму элементов одномерного массива пригоддную для использование с любым массивом типа mas и с любым кол-вом элементов!
Help
сообщение 23.12.2007 6:11
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: format

Репутация: -  -2  +


Помогите мне с паскалем напишите вычисление суммы элементов одномерного массива через процедуру.Буду очень признателен!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Зюзюка
сообщение 23.12.2007 11:37
Сообщение #2





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


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 Ну ваще я не шарю так что может не работать =))

Сообщение отредактировано: volvo - 27.11.2009 16:26
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
savef5
сообщение 23.12.2007 12:01
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Пётр

Репутация: -  0  +


Маленькая поправочка. "Массив типа мас", а у Зюзюка - переменная мас. Да и размер массива не передаётся.
procedure(A:mas);
var
I, Sum: Integer;
begin
Sum := 0;
For I := Low(A) to High(A) do
Sum := Sum + Mas[I];
end;

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

Сообщение отредактировано: savef5 - 23.12.2007 12:03
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.12.2007 12:11
Сообщение #4


Гость






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

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 элементов...

Сообщение отредактировано: volvo - 23.12.2007 12:11
 К началу страницы 
+ Ответить 
Help
сообщение 23.12.2007 14:17
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: format

Репутация: -  -2  +


Цитата(volvo @ 23.12.2007 12:11) *
Вот теперь процедуру можно использовать и на массиве из 10, и на массиве из 50 элементов...
а блок схему можещь нарисовать?!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 24.12.2007 15:25
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Программа построения блок-схем
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 12:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"