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

C# MŰHELY

C# MŰHELY

REKURZIÓ: Mértani sor elemeinek összegszámítása

2020. november 24. - Benkő Tiborné

Készítsünk programot, amely beolvassa a mértani sor első tagját, a hányados értékét és kiszámítja a kívánt n-edik tag értékéig az elemek összegét, valamint a sor elemeit is megjeleníti egy listaablakban. Készítsünk rekurzív függvényt a mértani sor n-edik tagjának számításához.

A feladat megoldása:

        static int Mértanisor(int a, int d, int n)
        {
             if (n == 1)
                return a;
             else
                return d * Mértanisor(a, d, n - 1);
        }

        int első, hányad, szám;
        private void Végrehajtás_Click(object sender, EventArgs e)
        {          
            int n_edik;
            int összeg = 0;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")
            {
                első = Int32.Parse(textBox1.Text);
                hányad = Int32.Parse(textBox2.Text);
                szám = Int32.Parse(textBox3.Text);
                összeg += első;
                for (int i = 2; i <= szám; i++)
                {
                    n_edik = Mértanisor(első, hányad, i);
                    összeg += n_edik;
                    textBox4.Text = összeg.ToString();
                }
            }
        }

        private void Kiírás_Click(object sender, EventArgs e)
        {
            string s;
            int n_edik;
            s = "";
            listBox1.Items.Clear();
            listBox1.Items.Add("1.elem: " + első);
            s = 1 + ".elem: " + első;
            s = "";
            for (int i = 2; i <= szám; i++)
            {
                n_edik = Mértanisor(első, hányad, i)
                s = i + ".elem: " + n_edik;
                listBox1.Items.Add(s);
            }
        }

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

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = "";
            listBox1.Items.Clear();
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = "";
            listBox1.Items.Clear();
        }

A program futási eredményei:

 

A bejegyzés trackback címe:

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

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