یک تابع بنویسید که یک رشته حاوی یک معادلهی جبری بگیرد و مقدار x را محاسبه کرده و برگرداند. این معادلات فقط شامل جمع و تفریق ساده هستند.
نمونه ورودی و خروجی
EvalAlgebra("2 + x = 19") ➞ 17
EvalAlgebra("4 - x = 1") ➞ 3
EvalAlgebra("23 + 1 = x") ➞ 24
نکات
- در رشتهی ورودی بین هر عدد و علامت یک فاصله وجود دارد.
- مقدار x میتواند یک عدد منفی باشد.
- تابع باید قادر باشد محل x را در معادله (در سمت چپ یا راست علامت مساوی) تشخیص دهد.
EXPECT_NEAR(EvalAlgebra("2 + x = 19"), 17, 0.001); EXPECT_NEAR(EvalAlgebra("4 - x = 1"), 3, 0.001); EXPECT_NEAR(EvalAlgebra("23 + 1 = x"), 24, 0.001); EXPECT_NEAR(EvalAlgebra("25 - 1 = x"), 24, 0.001); EXPECT_NEAR(EvalAlgebra("x + 10 = 53"), 43, 0.001); EXPECT_NEAR(EvalAlgebra("-23 + x = -20"), 3, 0.001); EXPECT_NEAR(EvalAlgebra("10 + x = 5"), -5, 0.001); EXPECT_NEAR(EvalAlgebra("-49 - x = -180"), 131, 0.001); EXPECT_NEAR(EvalAlgebra("x - 46 = -2"), 44, 0.001); EXPECT_NEAR(EvalAlgebra("70 - x = -38"), 108, 0.001); EXPECT_NEAR(EvalAlgebra("-4 - 10 = x"), -14, 0.001);
نظرات