求算法,有点难,高手请进. 如果能做,出RMB(100分)

  • 主题发起人 主题发起人 YongSoft
  • 开始时间 开始时间
Y

YongSoft

Unregistered / Unconfirmed
GUEST, unregistred user!
数据结构如下:

代码| 表达式| 值
a 2*3 6
b a*3 18
c a+b 24
d e*c -96
e a-10 -4
f e-d 92

求有一代码的值变了,其它应用此代码值都变的算法?

其它:数据库为ACCESS,应用ADO访问,四则算法已有

注意:代码不能循环应用,如下表

代码| 表达式| 值
a 2*3 6
b a*3 18
C d-5 错误循环应用
d c*a 错误循环应用
 
[:)]请问,是否做成象Excel单元格一样的引用功能?如果是,可用自由表格。
------+-------+-------------+-------+-------------+-------+--------
------+-------+-------------+-------+-------------+-------+--------
------+-------+-------------+-------+-------------+-------+--------
------+-------+-------------+-------+-------------+-------+--------
并按x,y坐标方式,
把单元的值放入数组a[x,y],每次引用对应单元时,直接引用计算对应数组a[x,y],
用循环的方式,把数组内的数据,以表达式指向的数组进行计算。
这只是一个实现的想法,我还没有进度实际应用。仅供参考。
 
重新循环计算“表达式”,直到“值”没有一个改变,就可以了;
 
以前一个朋友问过类似的问题,当时我做了一个DEMO给他,如果你要,给一个MAIL地址,我发给你
 
我的emai
GCSLCN@126.COM
我的QQ
67596002
你的呢
 
既然已经有了四则运算的算法,问题就简单多了。

1.获取当前被更新的行所对应的代码信息(比如"a")
2.搜索表中符合下列条件的记录—— Where 表达式 like '%'+代码信息+'%'
3.对这些记录依次使用四则运算的算法进行运算
4.对其中最终结果发生了变化的记录,递归调用步骤1
5.不再有记录变化的情况,运算结束
 
好象是工程计费表的问题。。。[:)]
 
邮件已发出,请查收
 
好复杂啊
 
同意 :creation-zy,
 
好象是有向无环图啊
把图建立起来后,不停的找后继就可以了~
 
能做吗,主要是不能循环应用
 
可以的啊
每个记录表示了一个节点
而表达式部分,表示了后继
这样就能做一个图了,然后检测是否有环路
楼主觉得这个思路如何?
 

主要我对图不了解
能否再详细点.....
 
RMB?呵呵:)这里还有代码交易呢?:)
 
n个记录,列出n x n的矩阵(就是图论的邻接矩阵)
分析每个记录,把表达式里的字符(a-z)解析出来,记录在邻接矩阵里
下面就可以分析了
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部