كيفية تقييم التعبيرات الرياضية المخصصة في لغة C دون تكامل بايثون
يمكن أن يكون تقييم التعبيرات الرياضية المعقدة في لغة C أمرًا صعبًا بدون مكتبات خارجية أو بيئات وقت التشغيل . ومع ذلك، توفر مكتبة ExprTk حلاً أنيقًا وفعالاً.
دعونا نفكر في مثال للتعبير:
3 sqrt(5) pow(3, 2) log(5)
باستخدام ExprTk، يمكننا معالجة هذه المشكلة بطريقة مباشرة:
#include
#include
#include "exprtk.hpp"
int main() {
// Define types for expression and parser
typedef exprtk::expression expression_t;
typedef exprtk::parser parser_t;
// Store the expression as a string
std::string expression_string = "3 sqrt(5) pow(3,2) log(5)";
// Instantiate expression and parser objects
expression_t expression;
parser_t parser;
// Compile the expression string
if (parser.compile(expression_string, expression)) {
// Evaluate the expression
double result = expression.value();
// Print the result
printf("Result: .15f\n", result);
} else {
// Handle compilation errors
printf("Error in expression\n.");
}
return 0;
}
هذا الكود:
من خلال الاستفادة من مكتبة ExprTk، يمكنك التعامل بكفاءة مع تقييم التعبيرات الرياضية المعقدة في لغة C، مما يخفف الحاجة إلى تكامل Python .
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3