Тема: Матрицы
Показать сообщение отдельно
  #5  
Старый 27.11.2011, 02:10
chainik chainik вне форума
Начинающий
 
Регистрация: 30.06.2008
Сообщения: 140
Репутация: 8882
По умолчанию

Тяжелый случай.
Вот решение. Но про матрицы ты все- таки прочитай...
Код:
{-------устанавливаем порядок матрицы-----------------}
procedure TForm1.SpinEdit1Change(Sender: TObject);
var
i:integer;
begin
with StringGrid1 do
    begin
    RowCount:=SpinEdit1.Value+1;
    ColCount:=SpinEdit1.Value+1;
    for i:=1 to RowCount do Cells[0,i]:=intToStr(i);
    for i:=1 to ColCount do Cells[i,0]:=intToStr(i);
    end;    //with
end;



{----вычисление---------------}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
MaxVal,MinVal:integer;
begin
MaxVal:=Low(Integer);
MinVal:=High(Integer);
with StringGrid1 do
    begin
    //главная диагональ  (min)
    for j:=2 to SpinEdit1.Value do
        for i:=1 to j-1 do
            MinVal:=min(MinVal,StrToInt(Cells[j,i]));
    //побочная диагональ   (max)
    for j:=2 to SpinEdit1.Value do
        for i:=SpinEdit1.Value downto SpinEdit1.Value-j+2 do
            MaxVal:=max(MaxVal,StrToInt(Cells[j,i]))
    end;    //with
Edit1.Text:=IntToStr(MaxVal);
Edit2.Text:=IntToStr(MinVal);
end;
Ответить с цитированием