برای مشاهده مفیدترین ارسال در این موضوع اینجا کلیک کنید

نمایش نتایج: از شماره 1 تا 1 از مجموع 1
Like Tree1نفر پسندیدند
  • 1 ارسال توسط NIIT

موضوع: کاربرد پشته ها

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


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

    کاربرد پشته ها

    یک برنامه در درس ساختمون داده که کار پشته ها رو بیان میکنه
    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 Aski
    {
    public partial class Frm_Poshte : Form
    {
    public Frm_Poshte()
    {
    InitializeComponent();
    }

    const int max = 5;
    string[] Dishes = new string[max];
    int top = -1;
    string[] Capacity = new string[max];
    //====================================================================================================
    private void txt_Enter_KeyPress(object sender, KeyPressEventArgs e)
    {
    try
    {
    if (e.KeyChar == '\r')
    {

    Dishes[++top] = txt_Enter.Text;
    txt_Enter.Text = "";

    if (top == max - 1)
    {

    MessageBox.Show("Enough...");

    txt_Enter.Enabled = false;
    }
    }
    }
    catch (Exception ecp)
    {
    MessageBox.Show(ecp.Message);
    }
    }
    //======================================================================================================
    private void btn_Click_Click(object sender, EventArgs e)
    {
    try
    {
    if (IsEmpty() == true)
    {
    MessageBox.Show(" مقادیری وارد نشده است :( ");
    btn_Click.Enabled = false;
    Frm_Poshte.ActiveForm.Enabled = false;
    }
    if (IsFull() == true)
    MessageBox.Show("در آرایه مقادیر وجود دارد :)");

    for (int j = 0; j < max; j++)
    Lst_Enter.Items.Add(Dishes[j].ToString());
    for (int j = max - 1; j >= 0; j--)//اینجا باید دستکاری بشه
    Lst_VaronEnter.Items.Add(Dishes[j].ToString());
    }
    catch (Exception ecp)
    {
    MessageBox.Show(ecp.Message);
    }
    }
    //========================================================================================================
    public Boolean IsEmpty()
    {
    if (top == -1)
    return true;
    else
    return false;
    }

    public Boolean IsFull()
    {
    if (top != -1)
    return true;
    else
    return false;
    }
    //=======================================================================================================
    private void Frm_Poshte_Load(object sender, EventArgs e)
    {
    lbl_ShowResult.Text = "";
    }
    //==========================================================================================================

    public void Check()
    {
    int k = 0;
    for (int i = 0; i < max; i++)
    {
    if ((Dishes[0] == '1'.ToString() || Dishes[0] == '2'.ToString() || Dishes[0] == '3'.ToString() || Dishes[0] == '4'.ToString() || Dishes[0] == '5'.ToString() || Dishes[0] == '6'.ToString() || Dishes[0] == '7'.ToString() || Dishes[0] == '8'.ToString() || Dishes[0] == '9'.ToString() || Dishes[0] == '0'.ToString()))//&&(Dishes[max-1]=='1'.ToString()||Dishes[max-1]=='2'.ToString()||Dishes[max-1]=='3'.ToString()||Dishes[max-1]=='4'.ToString()||Dishes[max-1]=='5'.ToString()||Dishes[max-1]=='6'.ToString()||Dishes[max-1]=='7'.ToString()||Dishes[max-1]=='8'.ToString()||Dishes[max-1]=='9'.ToString()||Dishes[max-1]=='0'.ToString())
    {
    if (Dishes[i] == '1'.ToString() || Dishes[i] == '2'.ToString() || Dishes[i] == '3'.ToString() || Dishes[i] == '4'.ToString() || Dishes[i] == '5'.ToString() || Dishes[i] == '6'.ToString() || Dishes[i] == '7'.ToString() || Dishes[i] == '8'.ToString() || Dishes[i] == '9'.ToString() || Dishes[i] == '0'.ToString())
    lbl_ShowResult.Text += Dishes[i] + " ";

    if (Dishes[i] == '/'.ToString() || Dishes[i] == '*'.ToString() || Dishes[i] == '-'.ToString() || Dishes[i] == '+'.ToString())
    {
    Capacity[k] = Dishes[i];
    k++;
    if (k >= 2)
    {
    //-----------------------------------------------------------------

    for (int m = 0; m < Capacity.Length; m++)
    {
    for (int s = m + 1; s < Capacity.Length; s++)
    {
    if (Capacity[s] == '*'.ToString() && Capacity[m] == '/'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '*'.ToString() && Capacity[m] == '-'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '*'.ToString() && Capacity[m] == '+'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '*'.ToString() && Capacity[m] == '*'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    //------------------------------------------------------------------
    if (Capacity[s] == '/'.ToString() && Capacity[m] == '/'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '/'.ToString() && Capacity[m] == '-'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '/'.ToString() && Capacity[m] == '+'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '/'.ToString() && Capacity[m] == '*'.ToString())//
    {
    string temp = Capacity[m];
    Capacity[m] = null;
    Capacity[m] = Capacity[s];
    Capacity[s] = null;
    lbl_ShowResult.Text += temp + " ";
    }
    //-----------------------------------------------------------------
    if (Capacity[s] == '+'.ToString() && Capacity[m] == '+'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '+'.ToString() && Capacity[m] == '-'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '+'.ToString() && Capacity[m] == '*'.ToString())
    {
    string temp = Capacity[m];
    Capacity[m] = null;
    Capacity[m] = Capacity[s];
    Capacity[s] = null;
    lbl_ShowResult.Text += temp + " ";
    }
    if (Capacity[s] == '+'.ToString() && Capacity[m] == '/'.ToString())
    {
    string temp = Capacity[m];
    Capacity[m] = null;
    Capacity[m] = Capacity[s];
    Capacity[s] = null;
    lbl_ShowResult.Text += temp + " ";
    }
    //----------------------------------------------------------------
    if (Capacity[s] == '-'.ToString() && Capacity[m] == '-'.ToString())
    {
    lbl_ShowResult.Text += Capacity[s] + " ";
    Capacity[s] = null;
    }
    if (Capacity[s] == '-'.ToString() && Capacity[m] == '/'.ToString())
    {
    string temp = Capacity[m];
    Capacity[m] = null;
    Capacity[m] = Capacity[s];
    Capacity[s] = null;
    lbl_ShowResult.Text += temp + " ";
    }
    if (Capacity[s] == '-'.ToString() && Capacity[m] == '*'.ToString())
    {
    string temp = Capacity[m];
    Capacity[m] = null;
    Capacity[m] = Capacity[s];
    Capacity[s] = null;
    lbl_ShowResult.Text += temp + " ";
    }
    if (Capacity[s] == '-'.ToString() && Capacity[m] == '+'.ToString())
    {
    string temp = Capacity[m];
    Capacity[m] = null;
    Capacity[m] = Capacity[s];
    Capacity[s] = null;
    lbl_ShowResult.Text += temp + " ";
    }
    //--------------------------------------------------------------
    }
    }
    }
    }
    }
    if (i == max - 1)
    {
    if (Capacity[0] == '/'.ToString() || Capacity[0] == '*'.ToString() || Capacity[0] == '-'.ToString() || Capacity[0] == '+'.ToString())
    lbl_ShowResult.Text += Capacity[0] + " ";
    }
    }
    if ((Dishes[0] == '/'.ToString() || Dishes[0] == '*'.ToString() || Dishes[0] == '-'.ToString() || Dishes[0] == '+'.ToString()))//|| (Dishes[max - 1] == '+'.ToString() || Dishes[max - 1] == '-'.ToString() || Dishes[max - 1] == '*'.ToString() || Dishes[max - 1] == '/'.ToString())
    {
    MessageBox.Show("لطفا عبارت را درست وارد نمایید.....بطور مثال : 3 * 7 + 8 ، باسپاس");
    this.Close();
    }
    }
    //=========================================================================================================
    private void btn_Check_Click(object sender, EventArgs e)
    {
    Check();
    }

    }
    }


    سوالی بود ،بفرمایین
    بااحترام

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

 

 

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

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

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

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

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


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