Создать массив случайных целых чисел, подсчитать их среднее арифметическое, а так же определить мин и макс значение из этих чисел

code: #delphi
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;
type
  TForm1 = class(TForm)
    mmOutput: TMemo;
    bbRun: TBitBtn;
    bbClose: TBitBtn;
    ibOutput: TLabel;
    procedure bbRunClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.bbRunClick(Sender: TObject);
const
 n = 25; //Кол-во эл-ов массива
 max_value = 100+1; //Диапазон значений случайных чисел
var
 m: array[1..n] of integer; //Массив чисел
 i: integer; //Индекс массива
 max, min: integer; //Мах и мин число
 sum: real; //Сумма чисел
 s: string;
begin
 s:='';
 //Заполняем массив случайными числами
 for i:= 1 to n do
  begin
   m[i]:= random(max_value);
   s:=s+#9+inttostr(m[i]); //Добавляем число к буферу
   if i mod 5 = 0 then //В буфере 5 чисел?
    begin //-Да. Выводим буфер
     mmOutput.lines.add(s);
     s:='';
    end
   end;
   //Задаем начальные значения переменных
  sum:=m[1];
  max:=m[1];
  min:=m[1];
  //Цикл вычисления суммы всех случайных чисел и поиска
  //минимального и максимального:
  for i:=2 to n do
   begin
    sum:=sum+m[i];
    if m[i]<min then
    min:=m[i]
    else
    if m[i]>max then
    max:=m[i];
    end;
    //Вычисляем среднее значение и выводи результат
   iboutput.caption:='минимум = '+inttostr(min)+' максимум = '+inttostr(max)+' среднее = '+floattostr(sum/n);
   end;
 end.
Поделиться:

Похожие статьи: