Hello, please, anyone, help to solve this problem...
Code:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
TAGraph, TASeries, TAFuncSeries, TAMultiSeries;
type
{ TForm1 }
TForm1 = class(TForm)
BuildGraph: TButton;
Chart1: TChart;
Chart1BubbleSeries1: TBubbleSeries;
Chart1ConstantLine1: TConstantLine;
Chart1LineSeries1: TLineSeries;
AverageNumber: TEdit;
Chart1LinePoint: TLineSeries;
FarthestFromAverage: TEdit;
Elements: TMemo;
ElementsLabel: TLabel;
AverageLabel: TLabel;
FarthestLabel: TLabel;
procedure BuildGraphClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
Elements: TMemo;
AverageNumber: TEdit;
FarthestFromAverage: TEdit;
BuildGraph: TButton;
implementation
{$R *.lfm}
{ TForm1 }
const N = 35;
var
a: array [1..N] of integer;
average: real;
farthest: integer;
farthestIndex: integer;
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
sum: integer = 0;
farthestModule: integer = 0;
module: integer = 0;
begin
Randomize;
for i:=1 to N do
begin
a
:= Random(50) + 40;
sum := sum + a;
Elements.Lines.Add(IntToStr(a));
end;
for i:=1 to N do
average := sum / N;
AverageNumber.Text := FloatToStr(average);
for i:=1 to N do
begin
module := abs(round(average - a));
if (module > farthestModule) then
begin
farthestModule := module;
farthest := a;
farthestIndex := i;
end;
end;
FarthestFromAverage.Text := IntToStr(farthest);
end;
procedure TForm1.BuildGraphClick(Sender: TObject);
var x: integer;
begin
Chart1LineSeries1.SeriesColor := clRed;
Chart1ConstantLine1.SeriesColor := clBlue;
Chart1LinePoint.ShowPoints := True;
for x:=1 to N do
Chart1LineSeries1.AddXY(x, a
Chart1ConstantLine1.Position := average;
Chart1LinePoint.AddXY(farthestIndex, farthest);
end;
end.