这几天麻烦不段,又要各位帮忙了,关于读取字符串中指定字符的问题!

zhouwenhong0427 2004-08-23 02:45:05
比如这样一个一元多项式:ax^n+bx(n-1)+.....+c
当然要求在一个文本框中输入具体的多项式,那怎样能够读取此多项式的最大次数值,以及所有项的系数值,不知有什么好办法能实现这个功能?赐教!!
...全文
152 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouwenhong0427 2004-08-24
  • 打赏
  • 举报
回复
谢谢各位的帮助,数次得到northwolves(狼行天下) 的帮助,不甚感激,分不多,笑纳!
northwolves 2004-08-23
  • 打赏
  • 举报
回复

Private Sub Form_Load()
fenjie "x^6+12x^5-58x^4+144x^3-193x^2+132x+36"
End Sub
Sub fenjie(ByVal x As String, Optional ByRef result As String)
Dim factor() As String, s() As String, i As Integer
x = Replace(x, "-", "+-")
factor = Split(x, "+")
ReDim s(UBound(factor))
For i = 0 To UBound(s)
If IsNumeric(factor(i)) Then factor(i) = factor(i) & "x^0"
If Trim(Split(factor(i), "x")(1)) = "" Then factor(i) = factor(i) & "^1"
If Trim(Split(factor(i), "x")(0)) = "" Then factor(i) = "1" & factor(i)
s(i) = Split(factor(i), "x^")(1) & ": " & Split(factor(i), "x")(0)
Next
result = Join(s, vbCrLf)
MsgBox result
Erase s
End Sub
iiboy 2004-08-23
  • 打赏
  • 举报
回复
不好意思错了一点:
while i>0
while instr("1234567890",mid(textBox.text,i+j,1))>0
xx1=xx1+mid(textBox.text,i+j,1)
j=j+1
wend
if val(xx1)>xx2 then xx2=val(xx1)
i=instr(i+1,textBox.text,"^")
j=1
wend
iiboy 2004-08-23
  • 打赏
  • 举报
回复
dim xx1 as string
dim xx2 as integer
dim i as integer
dim j as integer
xx1=""
xx2=0
i=instr(textBox.text,"^")
j=1
while i>0
while instr("1234567890",mid(textBox.text,i+1,j))>0
xx1=xx1+mid(textBox.text,i+1,j)
j=j+1
wend
if val(xx1)>xx2 then xx2=val(xx1)
i=instr(i+1,textBox.text,"^")
j=1
wend
=================
xx2就是最大次数值
MSSQL 2004-08-23
  • 打赏
  • 举报
回复
split
自己看一下.就会了.分两次处理+.-
zhouwenhong0427 2004-08-23
  • 打赏
  • 举报
回复
谢谢楼上各位,特别是bluesky23(乐天_我一直在努力。。。^_^)
==============================
不过我还是不太懂你的意思的,我举个具体的例子你帮我再分析,分析:
x^6+12x^5-58x^4+144x^3-193x^2+132x+36
你说的“(”和“)”应该是不会出现的,系数有正负的情况
starsoulxp 2004-08-23
  • 打赏
  • 举报
回复
同意。
laviewpbt 2004-08-23
  • 打赏
  • 举报
回复
帮你顶
bluesky23 2004-08-23
  • 打赏
  • 举报
回复
逐个字符读取出来再将其以“+”为分隔符逐项分离出来,存放于数组中。
注意在分离项的时候,要注意“(”和“)”,它们是一个不可分割的项。

各项系数值只要把相应项前面的数字取出来即可,用VAL(各项存放的字符串数组)函数即可直接获得。

比较大小就不用我多说了吧。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧