|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.12.2007, 16:37 | #1 |
Пользователь
Регистрация: 18.11.2007
Сообщений: 67
|
Помогите с оформлением процедуры
Дана задача в Delphi:
Составить процедуру для определения числа элементов одномерного массива, предшествующих его первому отрицательному элементу. Используя данную процедуру, расчитать среднее арифметическое значение элементов того из двух заданных одномерных массивов C и T в котором меньше элементов предшествующих его первому отрицательному. В случае равенства чисел таких элементов вывести на печать сообщение ''Массивы эквивалентны''. Программу написал, вроде все правильно. Сама проблема в том. что я не понимаю что писать в скобках после названия процедуры Procedure D (?????????); и что писать для вызова процедуры D (??????); program Project1; {$APPTYPE CONSOLE} uses SysUtils; Type mass =array[1..100] of integer ; var A:mass; i,n,kol:integer; sat,sac: real; Procedure D (Var kol:real); var i:integer; begin kol:=0; for i:=1 to n do begin if A[i]<0 then kol:=i-1; end; end; Begin write ('n='); readln (n); saT:=0; saC:=0; for i:=1 to n do begin write('C[',i,']='); readln(A[i]); D (kol); end; For i:=1 to kol do begin saC:=(A[i]+saC)/kol end; for i:=1 to n do begin write('T[',i,']='); readln(A[i]); D (kol); end; For i:=1 to kol do begin saT:=(A[i]+saT)/kol end; begin if saC=saT then write ('ekvivalentnoctb'); if saC>saT then write ('saC=', saC); if saT>saC then write ('saT=', saT); end; end. И еще в моей программе сначала считается среднее арифметическое двух массивов, а выводит на экран только одного. Можно ли как нибудь переделать прогу чтобы она считала только среднее арифметическое одного массива.Здесь saC среднее арифм. массива С, а saT массива T. Пожалуйста помогите студенту! p.s код структурирувал для удобности, но почемуто на форуме пробелы убрались =( ... Последний раз редактировалось Absent; 01.12.2007 в 16:55. |
01.12.2007, 18:30 | #2 |
Пользователь
Регистрация: 18.11.2007
Сообщений: 67
|
Разобрался, тему можно удалять
|
01.12.2007, 18:33 | #3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Вот я "слегка" переделал твой код. Мне описывать твои ошибки лень, поэтому ты лучше сравни два кода и найди свои ошибки. Если что непонятно, пиши, только четко излагай вопросы, а то я туго соображаю.
По процедуре. В скобках пишут чего ей надо, чтобы работала, и что должна выдавать. Нашей процедуре надо массив (A:mass) и длина массива (n:integer). Выдаст она количество (var kol:integer);. Получилось procedure D(A:mass;n:integer;var kol:integer); Когда обращаемся к процедуре пишем D(C,n,kolC), где С или Т наши массивы, n их длина, kolC или kolT количество элементов. Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с написанием процедуры... | Bkmz66 | Помощь студентам | 1 | 15.05.2008 13:27 |
Пожалуйста помогите решить задачу, на процедуры и функции. | RusLotus | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.01.2008 08:08 |
ПОМОГИТЕ ПОЖАЛУЙСТА SOS! ПРОЦЕДУРЫ В ПАСКАЛЕ! | Jondeer | Помощь студентам | 0 | 04.12.2007 18:51 |
Помогите довести до ума две процедуры! | Mr.User | Помощь студентам | 9 | 28.11.2007 10:21 |