Объявление переменных
var sum:integer;
i,j:integer;
oc:real;
Формирование вектора из первой матрицы
for i := 0 to StringGrid1.ColCount-1 do
begin
sum := 0;
for j:= 0 to StringGrid1.RowCount-1 do
if StringGrid1.Cells[i,j] = '1' then
sum := sum + 1;
StringGrid3.Cells[i,1] := IntToStr(sum)
end;
Формирование вектора из второй матрицы
for i := 0 to StringGrid2.ColCount-1 do
begin
sum := 0;
for j:= 0 to StringGrid2.RowCount-1 do
if StringGrid2.Cells[i,j] = '1' then
sum := sum + 1;
StringGrid4.Cells[i,1] := IntToStr(sum)
end;
Расчет меры близости:
oc:=0;
for i:=0 to strtoint(Edit1.Text)-1 do
begin
oc:=oc+abs(strtofloat(StringGrid3.Cells[i,1])-strtofloat(StringGrid4.Cells[i,1]));
end;
Вывод результата
showmessage(floattostr(oc));
Обработка события изменени размерности матриц
if edit1.Text='' then exit;
stringgrid1.ColCount:=strtoint(edit1.text);
stringgrid1.RowCount:=strtoint(edit1.text);
stringgrid2.ColCount:=strtoint(edit1.text);
stringgrid2.RowCount:=strtoint(edit1.text);
stringgrid3.ColCount:=strtoint(edit1.text);
stringgrid4.ColCount:=strtoint(edit1.text);
|