関数calculate_formula_rmparentheses マニュアル

(The documentation of function calculate_formula_rmparentheses)

Last Update: 2021/12/1


◆機能・用途(Purpose)

数式を表す文字列中の 関数以外で「(数値)」となっている部分の()を取り除く。
Remove a parenthesis () of a partial string of forms “(numerical value)”, other than functions, in a string that represents a mathematical formula.


◆形式(Format)

#include <formula.h>
inline char ∗calculate_formula_rmparentheses (char ∗formula,char ∗pattern)


◆引数(Arguments)

formula 数式を表す文字列。
A string that represents a mathematical formula.
pattern 引数formulaが表す文字列の構造。 関数analyze_formulaに引数formulaを渡して得られる戻り値を使用する。
The structure of a string represented by argument formula. Use the return value of function analyze_formula to which formula is used as an argument.


◆戻り値(Return value)



◆使用例(Example)

char formula1[]="1.0+2.0∗(3.0+4.0∗5.0)";
char ∗pattern1=analyze_formula(formula1);
char ∗formula2=calculate_formula_operations(formula1,pattern1);
char ∗pattern2=analyze_formula(formula2);
char ∗formula3=calculate_formula_operations(formula2,pattern2);
char ∗pattern3=analyze_formula(formula3);
char ∗formula4=calculate_formula_rmparentheses(formula3,pattern3);

この例では
formula2="1.0+2.0∗(3.0+2.000000e+01)"
formula3="1.0+2.0∗(2.300000e+01)"
formula4="1.0+2.0∗2.300000e+01"
となる。 formula1において「(3.0+4.0∗5.0)」となっていた部分が formula2では「(3.0+2.000000e+01)」、 formula3では「(2.300000e+01)」 となることでformula3において「(数値)」のパターンが登場する。 そこでformula4の計算においてこの関数を用いて()を取り除いている。 このように式変形を進めることで「(数値)」のパターンが登場する場合があるので、 その()を取り除くのがこの関数の役目である。
This example gives:
formula2="1.0+2.0∗(3.0+2.000000e+01)",
formula3="1.0+2.0∗(2.300000e+01)", and
formula4="1.0+2.0∗2.300000e+01".
The part “(3.0+4.0∗5.0)” in formula1 reduces to “(3.0+2.000000e+01)” in formula2 and further reduces to “(2.300000e+01)” in formula3. In this way, a pattern “(numerical value)” appeared. Then in formula4, this () is removed using this function. As in this example, arranging a formula sometimes results in a patter “(numerical value)”, and the role of this function is to remove () that appeared in this way.