C# programok ismertetése érdeklődőknek kezdőktől haladókig

C# MŰHELY

C# MŰHELY

Permutáció

2020. július 05. - Benkő Tiborné

Írjunk programot, amely a megadott szó permutációját végzi el.

 Vizsgálat történik arra, hogy a szó hossza 2-8 között lehet.

 A feladat megoldása

            const int maxnum = 8;
        StringBuilder szo;
        int nbetu, nperm;

        private void button1_Click(object sender, EventArgs e)
        {
            if(textBox1.Text != "")
            {
                szo = new StringBuilder(textBox1.Text);
                listBox1.Items.Clear();
                nbetu = szo.Length;
                nperm = 1;
                if (nbetu >= 2 && nbetu < maxnum + 1)
                {
                    permut(nbetu - 1);
                }
                else
                {
                     MessageBox.Show("Hibás adat: 2-8 között lehet!",
                                     "Figyelmeztetés");
                     textBox1.Text = "";
                     listBox1.Items.Clear();
                }
            }
        }

        private void swapnm(int n, int m)
        {
            char z = szo[n];
            szo[n] = szo[m];
            szo[m] = z;
        }

        private void permut(int k)
        {
            for (int i = 0; i <= k; i++)
            {
                swapnm(i, k);
                if (k != 0)
                {
                     permut(k - 1);
                }
                else
                {
                    listBox1.Items.Add(nperm.ToString("00000") +
                                       " - " + szo);
                    nperm++;
                }
                swapnm(k, i);
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
        }

A program futási eredményei:

    

A bejegyzés trackback címe:

https://csharp-muhely.blog.hu/api/trackback/id/tr4915983372

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása