Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
26.05.2014
Размер:
3 Кб
Скачать
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Label5: TLabel;
    Edit2: TEdit;
    Label6: TLabel;
    Edit3: TEdit;
    Label7: TLabel;
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label8: TLabel;
    Edit4: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Edit5: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);

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

var
  Form1: TForm1;

implementation

{$R *.DFM}

 //Функция выделения подстроки из строки
function GetSubStr(st:string;n:integer):string;
 var i,p:integer;
 begin for i:=1 to n-1 do
   begin p:=pos(' ',st); st:=copy(st,p+1,length(st)-p) end;
   p:=pos(' ',st);//конец нужной подстроки
   if p <> 0 then result:=copy(st,1,p-1)
             else result:=st
   end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer;
begin
 m:=StrToInt(Edit1.text);
 n:=StrToInt(Edit2.text);
 SetLength(a,m);
  for i:=0 to m-1 do SetLength(a[i],n);
 { Ввод матрицы из  Edit3}
 k:=1;
 for i:=0 to m-1 do
   for j:=0 to n-1 do
    begin a[i,j]:=StrToInt(GetSubStr(Edit3.text,k));
          k:=k+1
    end
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin
    {Вывод номеров строк в 0-м столбце и столбцов в 0-й строке}
 with StringGrid1 do
  begin i:=0; //0-й столбец
    for j:=1 to RowCount-1 do //вывести номера строк
     Cells[i,j]:=IntToStr(j);
    j:=0; //0-я строка
    for i:=1 to ColCount-1 do //вывести номера столбцов
     Cells[i,j]:=IntToStr(i);
  end;
 { Вывод элементов матрицы в таблицу }
 with StringGrid1 do
  for i:=0 to m-1 do
   for j:=0 to n-1 do Cells[j+1,i+1]:=IntToStr(a[i,j]);
end;

procedure TForm1.Button3Click(Sender: TObject);
var b:vec;
    n1,i,j,k:integer;
    bmax,bmin,nom:integer;
    imax,imin:integer;
begin n1:=m*n;
    SetLength(b,n1);
    k:=-1;
  for i:=0 to m-1 do
   for j:=0 to n-1 do
    begin k:=k+1; b[k]:=a[i,j] end;
  for i:=0 to n1-1 do Edit4.text:=Edit4.text+' '+IntToStr(b[i]);
  k:=length(b);
  maxel(k,b,bmax,imax); minel(k,b,bmin,imin);
  Label9.Caption:='Максимальный элемент вектора='+IntToStr(bmax);
  Label10.Caption:='Его номер='+IntToStr(imax);
  Label11.Caption:='Минимальный элемент вектора='+IntToStr(bmin);
  Label12.Caption:='Его номер='+IntToStr(imin);
  if imax>imin then begin nom:=imin+1;k:=imax-imin-1 end
               else begin nom:=imax+1;k:=imin-imax-1 end;
  b:=copy(b,nom,k);
  for i:=0 to k-1 do Edit5.text:=Edit5.text+' '+IntToStr(b[i]);
  a:=nil;b:=nil;

end;

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

end.
Соседние файлы в папке DvDinMas
  • #
    26.05.2014876 б19ProjectDvDinMas.res
  • #
    26.05.20144 Кб19Unit1.~dfm
  • #
    26.05.20143 Кб19Unit1.~pas
  • #
    26.05.20148 Кб19Unit1.dcu
  • #
    26.05.20144 Кб19Unit1.dfm
  • #
    26.05.20143 Кб19Unit1.pas
  • #
    26.05.2014733 б19UnitPP.~pas
  • #
    26.05.20141 Кб19UnitPP.dcu
  • #
    26.05.2014733 б19UnitPP.pas