Показать сообщение отдельно
  #5  
Старый 11.09.2013, 16:14
Plin Plin вне форума
Прохожий
 
Регистрация: 04.09.2013
Сообщения: 9
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

спс за код, но я сделал по проще хотя мб и не правильно
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, Spin;

type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    SpinEdit1: TSpinEdit;
    Edit2: TEdit;
    Label4: TLabel;
    SpinEdit2: TSpinEdit;
    Edit3: TEdit;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

var
  d: array of array of real;
   k, n, m: integer;
  sum, sr: real;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: integer;
  mx: real;
begin

  if SpinEdit1.Value = 0 then
  begin
    Showmessage('Вы не ввели размер матрицы');
    exit
  end;
  randomize;
  n := SpinEdit1.Value;
  m := SpinEdit2.Value;
  StringGrid1.ColCount := m;
  StringGrid1.RowCount := n;

  Setlength(d, n, m);
  for i := 0 to n - 1 do
    for j := 0 to m - 1 do
      d[i, j] := random(30);

  for i := 0 to n - 1 do
    for j := 0 to m - 1 do
      StringGrid1.Cells[j, i] := FloatToStrF(d[i, j], ffFixed, 5, 0);

  sum := 0;
  for i := 0 to n - 1 do
  begin
    sum := sum + d[i, 0];
    k := k + 1;
    sr := sum / k;
  end;
  k:=0;

  for i := 0 to n - 1 do
    for j := 1 to m - 1 do

      if d[i, j] > sr then
        k := k + 1;



  Edit2.Text := 'количество элементов =' + FloatToStrF(k, ffFixed, 5, 0);
  Edit3.Text := 'среднее арифметическое =' + FloatToStrF(sr, ffFixed, 5, 2);

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  close
end;

end.
Админ: Пользуемся тегами для оформления кода, иначе последуют санкции!

з.ы. а как скидывать код с линейкой
Ответить с цитированием