Показать сообщение отдельно
  #1  
Старый 22.03.2012, 15:38
МихПав19 МихПав19 вне форума
Прохожий
 
Регистрация: 16.12.2011
Сообщения: 6
Репутация: 10
По умолчанию Помогите пожалуйста с программой

у меня в программе ошибка
помогите найти
unit Unit1;

{Торговая фирма разработала несколько планов продаж письменных столов и стоек ТВ на предстоящей ярмарке с учетом изменяющейся конъюнктуры рынка и спроса покупателей. Показатели дохода представлены в таблице. Определить оптимальный план продаж.
План продаж Величина дохода, тыс. руб
Д1 Д2 Д3 Д4
1 850 500 200 50
2 600 900 400 550
3 460 300 600 380
4 320 150 80 270
5 240 370 350 190
6 75 820 510 440
[13:55:20] Михаил Павицкий: Тема: Определение плана продаж игровым методом.}
Код:
interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    win: TLabel;
    Edit2: TEdit;
    StringGrid1: TStringGrid;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    Label2: TLabel;
    Label3: TLabel;
    Button2: TButton;
    RadioGroup1: TRadioGroup;
    Label1: TLabel;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure SpinEdit1Change(Sender: TObject);
    procedure SpinEdit2Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure draw;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  s,p: string;
  m: array [1..99999] of real;
  i,n,k,g,o,j,ty,rt,max,min: integer;
  r,c,L: real;


implementation

{$R *.dfm}

procedure TForm1.draw;
begin
{With StringGrid1 do begin
 Cells[1,0]:='Номер дня';
 for rt:=2 to StringGrid1.ColCount do Cells[rt,0]:='Доход '+IntToStr(rt-1);
 end;}
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
try
  for j:=1 to StringGrid1.RowCount-1 do begin
  s:='';
    for ty:=1 to StringGrid1.ColCount-1 do if StringGrid1.cells[ty,j]<>'' then s:=s+StringGrid1.Cells[ty,j]+' ';
    if s<>'' then begin
   //ShowMessage('s='+s);
       n:=0;
       k:=0;
       i:=StrToInt(copy(s,1,pos(' ',s)-1));
      // ShowMessage('i='+IntToStr(i));
       delete(s,1,pos(' ',s));
       while pos(' ',s)>0 do begin
          p:=copy(s,1,pos(' ',s)-1);
          k:=k+StrToInt(p);
          delete(s,1,pos(' ',s));
          n:=n+1;
       end;
       //ShowMessage('k='+IntToStr(k));
       r:=k/(n-1);
       m[i]:=r;
       //ShowMessage('m[i]='+FloatToStr(m[i]));
     end;
     end;
     c:=m[1];
     o:=0;
     For g:=2 to i do begin
       if c<m[g] then begin
        c:=m[g];
        o:=g;
       end;
     end;
     Form1.Edit2.Text:=IntToStr(o);
      L:=max(Edit1*min)+(1-Edit1)*max)
     except end;
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
 try
 if SpinEdit1.Value>2 then StringGrid1.RowCount:=SpinEdit1.Value+1;
 except end;
 draw;
end;

procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
  try
 if SpinEdit2.Value

 >2 then StringGrid1.ColCount:=SpinEdit2.Value+1;
 except end;
 draw;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Edit2.Text:='';
 With StringGrid1 do begin
  for j:=1 to RowCount-1 do
  for ty:=1 to ColCount-1 do
  Cells[ty,j]:='';
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 draw;
end;

end.
Админ: Пользуемся тегами для оформления кода.

не работает 3 критерий гурвица
Ответить с цитированием