|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.04.2009, 20:42 | #1 |
Пользователь
Регистрация: 21.04.2009
Сообщений: 10
|
(Паскаль) Составить программу, использующую подпрограмму-функцию
надо вычислить сумму положительных элементов массива x(5) и сумму отрицательных элементов массива y(10)
Program name; Uses Crt; Var x: array [1..5] of real; y: array [1..10] of real; s1,s2:real; i: integer; Function Summ(M: array of real):real; var i: integer; s: real; begin s:=0 if high(M)=5 then begin for i:=1 to high(M) do if M[i]>0 then s:=s+M[i]; end; if high(M)=10 then begin for i:=1 to high(M) do if M[i]<0 then s:=s+M[i]; end; Summ:=s; end; begin s1:=0; s2:=0; ClrScr; Randomize; for i:=1 to High(x) do begin x[i]:=Random*100-50; Writeln('x[',i,']=',x[i]:5:2); end; for i:=1 to High(y) do begin y[i]:=Random*100-50; Writeln('y[',i,']=',y[i]:5:2); end; s1:=Summ(x); s2:=Summ(y); Writeln('Summa s1=',s1:5:2,'Summa s2=',s2:5:2); readkey end. Последний раз редактировалось Викуська_; 21.04.2009 в 21:41. |
21.04.2009, 20:46 | #2 |
Пользователь
Регистрация: 21.04.2009
Сообщений: 10
|
Если High возвращает максимальное значение типа. как тогда мне написать?^__^
важна подпрограмма фунция! |
21.04.2009, 20:58 | #3 |
Пользователь
Регистрация: 21.04.2009
Сообщений: 10
|
Ммм((Мне так нужна ваша помощь...
|
21.04.2009, 20:58 | #4 | ||
Участник клуба
Регистрация: 29.07.2008
Сообщений: 1,091
|
Я так и не понял, чего вы хотели.Мне кажется, что сейчас и эта тема будет закрыта, так что поторопитесь. И еще, объясните мне эту строчку:
Код:
Цитата:
Цитата:
Кто бы ты ни был - не думай о себе слишком (с)
|
||
21.04.2009, 21:02 | #5 |
Пользователь
Регистрация: 21.04.2009
Сообщений: 10
|
for i:=1 to High(x) do begin
x[i]:=Random*100-50; это программа заполняет массив x произвольно. нет это не вся задача( просто проблема в этой части... |
21.04.2009, 21:09 | #6 |
Пользователь
Регистрация: 21.04.2009
Сообщений: 10
|
и high кажется возвращает не максимальное значение...., а размер массива
Вот if high(M)=5 then //мы указали размер for i:=1 to high(M) do if M[i]>0 then s:=s+M[i];// И вот тут работа с массивом размером 5 |
21.04.2009, 23:32 | #7 |
Пользователь
Регистрация: 21.04.2009
Сообщений: 10
|
^^ Спасибо за помощь!
Нашла ошибку^^ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите пожалуйста мне составить программу паскаль! А то я уже сутки сижу над ней! | рома холодцов | Помощь студентам | 2 | 20.01.2009 21:00 |
Пожалуйста,помогите составить программу задачи на языке Турбо Паскаль-задача на функцию | Jan | Помощь студентам | 1 | 07.01.2009 19:39 |
Процедуру и функцию помогите составить плиз | Oleg36 | Помощь студентам | 2 | 26.12.2008 11:27 |
построить схему машинного алгоритма и составить Паскаль-программу решения задачи | RASTOMAN | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 18.12.2007 22:21 |
Паскаль. Решить функцию. | Dopeman | Помощь студентам | 7 | 18.09.2007 22:13 |