الرئيسية
*
  • الرئيسية
  • عن صدام حسين
  • قسم أعمال الموقع
  • قسم منتديات C#.Net
  • قسم منتديات VB.Net
  • قسم منتديات Asp.net
  • قسم منتديات SqlServer
  • مشاركات الأعضاء
  • إتصل بنا

بحــث في الموقع

قسم منتديات C#.Net >> أمثلة البرمجة ع ...

برنامج للتحويل من Infix الى C#.Net Postfix

بسم الله الرحمن الرحيم

 

برنامج للتحويل من Infix الى Postfix

أمثلة على التحويلات

برنامج بسيط يقوم بتحول القيم المدخله من قبل المسنخدم الى الاعجمي

يقوم بالتحويل من Infix

الى PostFix

 

 

كود البرنامج

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static bool convert(ref string infix, out string postfix)
        {

            int prio = 0;
            postfix = "";
            Stack<Char> s1 = new Stack<char>();
            for (int i = 0; i < infix.Length; i++)
            {
                char ch = infix[i];
                if (ch == '+' || ch == '-' || ch == '*' || ch == '/')
                {
                    if (s1.Count <= 0)
                        s1.Push(ch);
                    else
                    {
                        if (s1.Peek() == '*' || s1.Peek() == '/')
                            prio = 1;
                        else
                            prio = 0;
                        if (prio == 1)
                        {
                            if (ch == '+' || ch == '-')
                            {
                                postfix += s1.Pop();
                                i--;
                            }
                            else
                            {
                                postfix += s1.Pop();
                                i--;
                            }
                        }
                        else
                        {
                            if (ch == '+' || ch == '-')
                            {
                                postfix += s1.Pop();
                                s1.Push(ch);

                            }
                            else
                                s1.Push(ch);
                        }
                    }
                }
                else
                {
                    postfix += ch;
                }
            }
            int len = s1.Count;
            for (int j = 0; j < len; j++)
                postfix += s1.Pop();
            return true;
        }
        static void Main(string[] args)
        {
            string infix = "";
            string postfix = "";
            if (args.Length == 1)
            {
                infix = args[0];
                convert(ref infix, out postfix);
                System.Console.WriteLine("InFix  :\t" + infix);
                System.Console.WriteLine("PostFix:\t" + postfix);
            }
            else
            {
                infix = "a+b*c-d";
                convert(ref infix, out postfix);
                System.Console.WriteLine("InFix   :\t" + infix);
                System.Console.WriteLine("PostFix :\t" + postfix);
                System.Console.WriteLine();
                infix = "a+b*c-d/e*f";
                convert(ref infix, out postfix);
                System.Console.WriteLine("InFix   :\t" + infix);
                System.Console.WriteLine("PostFix :\t" + postfix);
                System.Console.WriteLine();
                infix = "a-b/c*d-e--f/h*i++j-/k";
                convert(ref infix, out postfix);
                System.Console.WriteLine("InFix   :\t" + infix);
                System.Console.WriteLine("PostFix :\t" + postfix);
                System.Console.WriteLine();
                Console.ReadLine();
            }
        }

        public static class ConvertDistance
        {
            public static double cMtK(double meters)
            {
                return meters / 1000;
            }

            public static double cKtM(double kilometers)
            {
                return kilometers * 1000;
            }
        }
    }
}

 

 

مخرجات الكود

 

 

 

شكراً لزيارتكم موقعنا

تقنية المعلومات لاجلك

 ITFY-Edu.com

 

 

-: إخترنا لك

..... برنامج للتحويل من Infix الى C#

..... برنامج التحويل من النظام العشر

..... برنامج للتحويل من نظام عشري ال

..... برنامج التحويل من النظام الثنا

..... برنامج لتحويل المتر الى كيلومت

حديث الموقع || الاكثر مشاهدة

... قوانين مورفى للتجارة
... موقع الشيخ عبدالله ع
... موقع وتطبيق مؤسسة ال
... طريقة عرض البيانات ف
... طريقة عرض البيانات ف

آخر أعمالنا

موقع الشيخ / عبدالله علي جيله
مؤسسة البركة التنموية الخيرية
نظام ويب مدرسة الامة
نظام ويب شركة Health Land
نظام ويب مسجد جابر - هرجيسا
نظام ويب شركة إشراقة الأمل
موقع د / زيد قاسم غزاوي
نظام ويب إدارة أقساط العمالة

صفحة الفيسبوك

| الرئيسية
| عن صدام حسين
| قسم أعمال الموقع
| قسم منتديات C#.Net
| قسم منتديات VB.Net
| قسم منتديات Asp.net
| قسم منتديات SqlServer
| مشاركات الأعضاء
إتصل بنا
Designer : تقنية المعلومات لاجلك