我基本上编写了某种表格,对于列标签,我有一些数字,对于行标签,我有一些字符串,其中包含用逗号分隔的数字.
我从名为的TString中获取所有行标记,minterms_essentials并从一个名称中获取列标记minterms.
首先,我必须标记创建的2维数组.然后,如果行中的任何字符串包含某个字母,我必须'x'在正确的列中放置一个字符串.
我写了这个Delphi代码,但到目前为止我正在访问违规...
SetLength(tabla,minterms_essentials.Count + 1,minterms.Count + 1);
for i := 0 to minterms.Count-1 do
begin
tabla[0,i+1] := IntToStr(BinToInt(minterms[i]));
end;
for i := 0 to minterms_essentials.Count-1 do
begin
tabla[i+1,0] := minterms_essentials[i];
end;
for i := 1 to minterms_essentials.Count-1 do
begin
for g := 1 to minterms.Count-1 do
begin
ss := tabla[g,0].Split([',']);
for s in ss do
begin
if s = tabla[0,g] then
begin
tabla[g,i] := 'x';
end;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
有没有更好更正确的方法呢?
看这个:
第一个维度由minterms_essentials定义
SetLength(tabla, minterms_essentials.Count+1,minterms.Count+1);
Run Code Online (Sandbox Code Playgroud)
但是在这里你使用minterms来索引数组的第一维:
for g := 1 to minterms.Count-1 do
begin
ss := tabla[g,0].Split([',']);
Run Code Online (Sandbox Code Playgroud)
PS.你还没打开范围检查吗?
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |