Здравствуйте , помогите реализовать данную программу в виде модуля

Ответить
Razorilya
Сообщения: 2
Зарегистрирован: 08 апр 2014, 14:05

01 май 2014, 10:37

Здравствуйте , помогите реализовать данную программу в виде модуля
(Дан одномерный массив размером М. Подсчитать сумму положительных и среднее арифметическое отрицательных элементов. Ввод данных осуществлять с клавиатуры, вывод исходного массива и результатов – на экран)

Код: Выделить всё

program Project1;
 
uses
  Crt;
 
type
  mass = array of Integer;
 
var
  vector : mass;
 
procedure Input_mass(var vector : mass);
var
  i, m : Byte;
begin
  Write('Input M: '); Readln(m);
  SetLength(vector, m);
  for i := 0 to m-1 do
  begin
    Write('Input mass[', i+1, ']= '); Readln(vector[i]);
  end;
end;
 
procedure Output_mass(vector : mass);
var
  i : Byte;
begin
  for i := 0 to Length(vector)-1 do
    Writeln('mass[', i+1, ']= ', vector[i]);
end;
 
function Summ(vector : mass): Word;
var
  i : Byte;
  sum : Word;
begin
  sum := 0;
  for i := 0 to Length(vector)-1 do
    if (vector[i] > 0) then
      sum := sum + vector[i];
  Summ := sum;
end;
 
function Average(vector : mass): Single;
var
  count, i : Byte;
  aver : Integer;
begin
  count := 0; aver := 0;
  for i := 0 to Length(vector)-1 do
    if (vector[i] < 0) then
    begin
      Inc(count); aver := aver + vector[i];
    end;
  Average := aver / count;
end;
 
begin
  ClrScr;
  Input_mass(vector);
  ClrScr;
  Writeln('Sum of positive: ', Summ(vector));
  Output_mass(vector);
  Writeln('Average of negative: ', Average(vector):7:3);
  readln;
end.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

05 май 2014, 14:13

Заменить Program на Unit, основную программу тоже обернуть в какую-нибудь процедуру (procedure main, например).
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить