نمایش نتایج: از شماره 1 تا 1 از مجموع 1
  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2011 June
    محل سکونت
    گرگان
    ارسال ها
    1,170
    تشکر
    62
    تشکر شده 1,587 بار در 809 پست
    نوشته های وبلاگ
    49


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    prefix-postfix_Application

    میاد در مورد postfixها و prefixها در محیط application نمونه کدهایی در اختیارتون میذاره:

    کلاس CStack :
    کد:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace charachter
    {
        class ClassStack
        {
            int Size = 100;
            object[] Item;
            int MyTop;
            public ClassStack()
            {
                MyTop = -1;
                Item = new object[Size];
            }
            public bool IsFull()
            {
                if (MyTop == Size - 1)
                    return true;
                else
                    return false;
            }
            public bool IsEmpty()
            {
                if (MyTop == -1)
                    return true;
                else
                    return false;
            }
            public bool Push(object n)
            {
                if (IsFull())
                    return false;
                else
                {
                    Item[++MyTop] = n;
                    return true;
                }
            }
            public object Pop()
            {
                if (IsEmpty())
                    return -1;
                else
                    return Item[MyTop--];
            }
            public object Test_Top()
            {
                if (IsEmpty())
                    return -1;
                else
                    return Item[MyTop];
            }
        }
    }
    فراخونی در فرم رو نمایش میده:
    کد:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace charachter
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void btn_ShowPostfix_Click(object sender, EventArgs e)
            {
                ClassStack SampleStack1 = new ClassStack();
                object MyTop1 = null;
                object MyTop_PP1 = null;
                string str1 = txt_EnterString.Text;
                string CapacityPostfix1 = "";
                bool Num1 = true;
                for (int i = 0; i < str1.Length; i++)
                {
                    switch (str1[i])
                    {
                        case '+':
                            while (Num1)
                            {
                                MyTop1 = SampleStack1.Test_Top();
                                if (SampleStack1.IsEmpty())
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                                else if ((char)MyTop1 == '/')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '*')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '+')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '-')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                            }
                            break;
                            
                    
                    case '-':
                            while (Num1)
                            {
                                MyTop1 = SampleStack1.Test_Top();
                                if (SampleStack1.IsEmpty())
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                                else if ((char)MyTop1 == '+')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '-')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '/')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '*')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                            }
                            break;
    
                    case '/':
                            while (Num1)
                            {
                                MyTop1 = SampleStack1.Test_Top();
                                if (SampleStack1.IsEmpty())
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                                else if ((char)MyTop1 == '*')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '/')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '-')
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                                else if ((char)MyTop1 == '+')
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                            }
                            break;
    
                    case '*':
                            while (Num1)
                            {
                                MyTop1 = SampleStack1.Test_Top();
                                if (SampleStack1.IsEmpty())
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                                else if ((char)MyTop1 == '-')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '/')
                                {
                                    MyTop_PP1 = SampleStack1.Pop();
                                    CapacityPostfix1 += MyTop_PP1;
                                }
                                else if ((char)MyTop1 == '*')
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                                else if ((char)MyTop1 == '+')
                                {
                                    SampleStack1.Push(str1[i]);
                                    break;
                                }
                            }
                            break;
                    default:
                            CapacityPostfix1 += str1[i];
                            break;
                    }
                }
                while (Num1)
                {
                    if (SampleStack1.IsEmpty())
                        break;
                    else
                        CapacityPostfix1 += SampleStack1.Pop();
                }
                txt_ShowResultPostfix.Text = CapacityPostfix1.ToString();
            }
    //============================================================================================================
            private void btn_ShowPrefix_Click(object sender, EventArgs e)
            {
    
                ClassStack SampleStack2 = new ClassStack();
                object MyTop2 = null;
                object MyTop_PP2 = null;
                string str2 = txt_EnterString.Text;
                string CapacityPostfix2 = "";
                bool Num2 = true;
                for (int i = (str2.Length-1); i >=0; i--)
                {
                    switch (str2[i])
                    {
                        case '+':
                            while (Num2)
                            {
                                MyTop2 = SampleStack2.Test_Top();
                                if (SampleStack2.IsEmpty())
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                                else if ((char)MyTop2 == '*')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '/')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '-')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '+')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                            }
                            break;
    
    
                        case '-':
                            while (Num2)
                            {
                                MyTop2 = SampleStack2.Test_Top();
                                if (SampleStack2.IsEmpty())
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                                else if ((char)MyTop2 == '*')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '/')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '-')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '+')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                            }
                            break;
    
                        case '/':
                            while (Num2)
                            {
                                MyTop2 = SampleStack2.Test_Top();
                                if (SampleStack2.IsEmpty())
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                                else if ((char)MyTop2 == '+')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '/')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '-')
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                                else if ((char)MyTop2 == '*')
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                            }
                            break;
    
                        case '*':
                            while (Num2)
                            {
                                MyTop2 = SampleStack2.Test_Top();
                                if (SampleStack2.IsEmpty())
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                                else if ((char)MyTop2 == '*')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '-')
                                {
                                    MyTop_PP2 = SampleStack2.Pop();
                                    CapacityPostfix2 += MyTop_PP2;
                                }
                                else if ((char)MyTop2 == '/')
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                                else if ((char)MyTop2 == '+')
                                {
                                    SampleStack2.Push(str2[i]);
                                    break;
                                }
                            }
                            break;
                        default:
                            CapacityPostfix2 += str2[i];
                            break;
                    }
                }
                while (Num2)
                {
                    if (SampleStack2.IsEmpty())
                        break;
                    else
                        CapacityPostfix2 += SampleStack2.Pop();
                }
                txt_ShowResultPrefix.Text = CapacityPostfix2.ToString();
            }        
        }
    }
    جایی ابهام بود، بفرمایین
    بااحترام

    آرامش محصول تفکر نیست! آرامش هنر نیندیشیدن به انبوه مسائلیست که ارزش فکر کردن ندارد...

 

 

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 11:11 AM بر حسب GMT +4 می باشد.