advertise laitec sharif univercity استخراج بیت کوین با کامپیوتر استخراج بیت کوین با کامپیوتر
دانلود پروژه آموزش چندرسانه ای با دایرکتور Director

دانلود پروژه آموزش چندرسانه ای با دایرکتور Director

3000 تومان
دانلود پروژه مهندسی نرم افزار ، سیستم داروخانه

دانلود پروژه مهندسی نرم افزار ، سیستم داروخانه

3000 تومان
دانلود برنامه آزمون تستی در مالتی مدیا بیلدر MMb

دانلود برنامه آزمون تستی در مالتی مدیا بیلدر MMb

3000 تومان
سورس پروژه دفترچه تلفن ساده در سی شارپ #c و بانک Access

سورس پروژه دفترچه تلفن ساده در سی شارپ #c و بانک Access

3000 تومان
سورس پروژه پایانی وب سایت و نرم افزار کلینیک در ASP.net

سورس پروژه پایانی وب سایت و نرم افزار کلینیک در ASP.net

22000 تومان

دانلود سورس کد برجهای هانوی در سی شارپ #C

در این قسمت سورس برنامه برجهای هانوی را که با زبان برنامه نویسی سی شارپ نوشته شده است و مطمئنا با آن آشنایی دارید جهت استفاده شما قرار داده ایم.
دانلود سورس کد برجهای هانوی در سی شارپ #C

دانلود سورس کد برجهای هانوی در سی شارپ #C

در این قسمت سورس برنامه برجهای هانوی را که با زبان برنامه نویسی سی شارپ نوشته شده است و مطمئنا با آن آشنایی دارید جهت استفاده شما قرار داده ایم. 

برنامه برجهای هانوی به این صورت است که : سه میله داریم که صفحات با اندازه های مختلف بصورت پراکنده روی آنها قرار گرفته اند. باید صفحات را طوری روی میله ها جابه جا کنیم که در پایان همه صفحات به ترتیب اندازه از کوچک به بزرگ (صعودی) روی هم در برج مقصد قرار گیرند. توجه داشته باشید که در طول مسیر جابه جایی، نباید هیچ صفحه بزرگتری روی صفحه کوچکتر قرار گیرد. 

این برنامه با توابع ساده و قابل فهمی طراحی شده است دارای یک فرم است که با ورود به آن میتوان تعداد صفحات برای برنامه را تعیین کرد. در فرم سه میله ی منبع، میله ی کمکی و میله مقصد نیز وجود دارد. با کلیک روی دکمه Start برنامه شروع میشود با کلیک روی دکمه Next صفحه بصورت تکی در جهت رسیدن به هدف (قرار گرفتن بصورت صودی روی میله مقصد) حرکت میکنند. در برنامه تعداد حرکتها نیز محاسبه میشود. همچنین برای خروج از برنامه نیز دکمه Exit قرار داده شده است.

 

برنامه اصلی #C برجهای هانوی را میتوانید در پایین صفحه دانلود کنید.

سورس کد برجهای هانوی را در زیر میتوانید مشااهده کنید. این سورس در تمام نسخه های ویژوال استودیو برای شما قابل استفاده می باشد:

 

sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace HanoiTowers
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
          
 allStands = new List[] { Stand1plates, Stand2plates, Stand3plates };
            
            //   Stand2plates.Add(3);
        }

        List[] allStands;
        List Stand1plates = new List();
        List Stand2plates = new List(); 
        List Stand3plates = new List();

        int plates = 4;
        int mySource=1,  myInter=2,myDest=3;
            
        int standWidth = 30;
        int plateHeight = 20;
        int TotalMoves;

        frmNext fnext = new frmNext();

        void solveTowers(int count, int source, int dest, int inter)
        {
            if (count == 1)
            {
                try
                {
                    MoveFromTo(source, dest);
                    TotalMoves++;
                    {
                        fnext.lblMove.Text = "Move from stand " + source.ToString() + " to stand " + dest.ToString();
                        fnext.lblMoves.Text = TotalMoves.ToString();
                        fnext.Location = new Point(this.Width / 2 - fnext.Width / 2, this.Height - 25);
                        fnext.ShowDialog();
                    }
                    label2.Text = "total moves: " + TotalMoves.ToString();

                }
                catch { }
            }

            else
            {
                solveTowers(count - 1, source, inter, dest);
                solveTowers(1, source, dest, inter);
                solveTowers(count - 1, inter, dest, source);
            }
        }

        private void MoveFromTo(int source, int dest)
        {
            int top = allStands[source-1][allStands[source-1].Count - 1];
            allStands[source - 1].Remove(top);
            allStands[dest-1].Add(top);

            RedrawPanels();

        } 
        void start()
        {
            TotalMoves = 0;

            for (int i = plates; i > 0; i--)
            {
                Stand1plates.Add(i);
            }
            RedrawPanels();
            solveTowers(plates, mySource, myDest, myInter);
        }
        private void RedrawPanels()
        {
            pnlDestination.Invalidate();
            pnlSource.Invalidate();
            pnlIntermediate.Invalidate();

        }


        private void button1_Click(object sender, EventArgs e)
        {
            start();
        }

        private void pnl_Paint(object sender, PaintEventArgs e)
        {
            Panel p = (Panel)sender;
            Graphics pnlGraphix = e.Graphics;
            pnlGraphix.Clear(Color.White);
            DrawTheStand(pnlGraphix, p);
            DrawPlates(pnlGraphix, p, p.TabIndex);
        }

        private void DrawTheStand(Graphics graphics, Panel p)
        {
            graphics.FillRectangle(new SolidBrush(Color.Gray), new Rectangle(p.Width / 2 - standWidth / 2, p.Width / 2 - standWidth / 2, standWidth, p.Height - 20));
        }
        private void DrawPlates(Graphics graphics, Panel p, int StandNo)
        {
            if (Stand1plates == null) return;
            Stand1plates.Sort();
            Stand1plates.Reverse();

            switch (StandNo)
            {
                case 1:
                    DrawStandPlates(graphics, Stand1plates, p); break;
                case 2:
                    DrawStandPlates(graphics, Stand2plates, p); break;
                case 3:
                    DrawStandPlates(graphics, Stand3plates, p); break;
            }


        }
        private void DrawStandPlates(Graphics graphics, List plates, Panel p)
        {
            int i = 0;
            foreach (int plateNo in plates)
            {
                i++;
                graphics.FillEllipse(new SolidBrush(Color.Red), new Rectangle(p.Width / 2 - (plateNo * 30) / 2, p.Height - i * plateHeight, plateNo * 30, plateHeight));
                graphics.DrawString(plateNo.ToString(), new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold), Brushes.Black, new Rectangle(p.Width / 2-8 , p.Height - i * plateHeight, plateNo * 30, plateHeight));
            }
        }


        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            plates = Convert.ToInt32(numericUpDown1.Value);
            RedrawPanels();
        }

        private void frmMain_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("http://WWw.SourceCodes.ir");
        }


    } //ends Hanoi class

}

 

 

سورس کد برنامه برجهای هانوی با زبان سی شارپ #c را به صورت رایگان دانلود کنید

حجم فایل :  91.3 KB

 

 



لینک های دانلود

دانلود با لینک مستقیم رمز فایل : www.SourceCodes.ir












0
نظرات

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
سورس کد برجهای هانویدانلود سورس کد برجهای هانوی در سی شارپ #Cدانلود رایگان سورس برجهای هانوی با زبان #Cسورس رایگان HanoiTawers سورس کد برجهای هانوی در سی شارپ #Cبرنامه برجهای هانوی در سی شارپدانلود برنامه HanoiTawers با سی شارپسورس رایگان برجهای هانوی در سی شارپتبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

تولید بیت کوین با کامپیوتر

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php