Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 сем_1 / 9 лаба / Unit1

.pas
Скачиваний:
6
Добавлен:
18.07.2019
Размер:
2.08 Кб
Скачать
unit Unit1;

interface

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

type
TForm1 = class(TForm)
str1: TStringGrid;
btn1: TButton;
le1: TLabeledEdit;
btn2: TBitBtn;
l1: TStaticText;
le2: TLabeledEdit;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

var n1,n2:integer;
procedure TForm1.btn1Click(Sender: TObject);
var Cod1,cod2:integer;
begin
Val(le1.Text, n1, Cod1);
if (Cod1 <> 0) or (n1<2) then
begin
btn1.Enabled:=False;
ShowMessage('Ошибка размера матрицы');
Exit;
end;
Val(le2.Text, n2, Cod2);
if (Cod2 <> 0) or (n2<2) then
begin
btn1.Enabled:=False;
ShowMessage('Ошибка размера матрицы');
Exit;
end;
with str1 do
begin
RowCount:=n1;
ColCount:=n2;
Visible:=True;
end;
end;

procedure TForm1.btn2Click(Sender: TObject);
var x:array of array of real; i, j, k:byte; Cod:integer; l:real;
begin
l1.Caption:=''; //очистка поля вывода при повт. щелчке
SetLength(x, n1, n2); //выделение памяти под матрицу
for i:=0 to n1-1 do //внешний цикл (перебор строк)
begin //начало тела внешнего цикла
k:=0;
for j:=0 to n2-1 do //вложенный цикл (перебор столбцов)
begin //начало тела вложенного цикла
Val(str1.Cells[i, j], x[i, j], Cod); //ввод xij
if Cod <>0 then begin //если ошибка синтаксиса, то
l1.Caption:=''; //очистка поля вывода
ShowMessage('Ошибка синтаксиса в матрице');
SetLength(x, 0, 0); Exit; //высвоб. памяти и выход
end; //конец действий для случая синтакс. ошибки
l:=Trunc(x[i,j]) mod 2;
if l = 1 then k := k +1;
//вывод xij
end; //конец тела вложенного цикла
l1.Caption:=l1.Caption + FloatToStr(k) +' '; //перевод строки вывод
end;
SetLength(x, 0, 0);
end;
end.
Соседние файлы в папке 9 лаба
  • #
    18.07.2019188 б6Project1.dpr
  • #
    18.07.2019876 б6Project1.res
  • #
    18.07.20196.02 Кб6Unit1.dcu
  • #
    18.07.201951 б6Unit1.ddp
  • #
    18.07.20191.68 Кб7Unit1.dfm
  • #
    18.07.20192.08 Кб6Unit1.pas