محاسبه ی یک عبارت ریاضی Postfix
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace postFixCalulate { class Program { static void Main(string[] args) { string a = "123*+"; PostFixCal obj = new PostFixCal(); float result=obj.Calulate(a); Console.WriteLine(result); //resutl is 7 } } class PostFixCal { Stack stack = new Stack(); string members; public float Calulate(string term) { members = term; for (int i = 0; i < members.Length; i++) { if (Char.IsDigit((char)members[i])) { stack.Push(members[i].ToString()); } else { double y2 = Convert.ToDouble(stack.Pop()); double y1 = Convert.ToDouble(stack.Pop()); double z = 0; switch ((char)members[i]) { case '+': z = y1 + y2; break; case '-': z = y1 - y2; break; case '*': z = y1 * y2; break; case '/': z = y1 / y2; break; } stack.Push(z); } } return Convert.ToSingle(stack.Peek()); } } }
Advertisements
Posted on ژوئن 2, 2010, in CSharp, الگوریتم and tagged C#, data structure, Postifx, میانوندی, محاسبه, پیشوندی, سی شارپ, ساختمان داده. Bookmark the permalink. بیان دیدگاه.
بیان دیدگاه
Comments 0