-2

誰かが私の問題を解決してくれるかどうか尋ねたい.

任意の方程式を変数と数値に解析する必要があります。

方程式は の形になり"y1 + y2 + ... + y10"ます。

サンプル:"y1 + 2 y2 + 3y3 + y3 + 3 + 5 + 10 = y4 + 4"

ランダムな数のスペースが存在する可能性があります。"y1" は 1*y ではありません。インデックス 1 の y です。

私はそれを使用strchar(string," ")してそのように解析することを考えていましたが、スペースなしで使用できるため、char の後に char を読み取る可能性がありますが、"3 y2"最初の char を取得することを考えた場合、次のように方程式を実行する方法がわかりません。次の文字while(char == " ")を取得し、その次の文字を取得して、それが変数か「+」かを調べます。ソースコードは必要ありません。ヒントで大丈夫です。

4

1 に答える 1

0

「C解析ライブラリ」をGoogleで検索することをお勧めします。ここに興味深いものがあります:

http://warp.povusers.org/FunctionParser/

うーん、それは実際には C++ です...本当に C が必要な場合は、他にもあります。

この問題を抱えたのはあなたが初めてではなく、それを解決するためのライブラリがあります。

Flex と Bison を使用することもできます。ここにチュートリアルがあります。

http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/

于 2013-03-14T18:55:50.423 に答える