Вопрос № 178328: Помогите решить в делфи задачу Используя создание внешней библиотеки . Дан целочисленный вектор размера n. Найти среднее арифметическое. Для решения задачи создать и использовать модуль, содержащий следующие подпрограммы: процедуру...
Вопрос № 178328:
Помогите решить в делфи задачу Используя создание внешней библиотеки . Дан целочисленный вектор размера n. Найти среднее арифметическое. Для решения задачи создать и использовать модуль, содержащий следующие подпрограммы: процедуру заполнения одномерного массива с клавиатуры, функцию для нахождения среднего арифметического значения.
Отвечает Евгений/Genia007/, Бакалавр :
Здравствуйте, Яруллина Ирина Булатовна. Могу предложить такой вариант решения Вашей задачи: модуль библиотеки
Код:
library mymas;
uses SysUtils, Dialogs, Classes, StdCtrls;
{$R *.res}
var a: array of integer;
function avg(n: integer):
real; stdcall; export; // Функция вычисления средне арифметического var i: integer; j: real; begin j:= 0; for i:= 0 to n - 1 do j:= j + a[i]; // Вычисляем общую сумму массива j:= j / n; // Вычисляем среднее арифметическое result:= j; end;
procedure vvod(n, y: integer; Memo: TMemo); stdcall; export; // Процедура ввода массива var i: integer; begin Setlength(a, n); // Установили размер масс
ива if n <> y then // Размер массива и количество элементов должны совпадать begin ShowMessage('Размерность массива и его количество не совпадают!'); exit; end; for I:= 0 to n - 1 do a[i]:= StrToInt(Memo.Lines.Strings[i]); // Запоминаем массив end;
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.