Írjunk programot, amely a megadott első tag és a hányados ismeretében kiszámítja a mértani sorozat n-edik tagját rekurzív függvénnyel.
A feladat megoldása:
static int Mértanisor(int a, int h, int n)
{
if (n == 1)
return a;
else
return h * Mértanisor(a, h, n - 1);
}
int első, hányad, szám;
private void Végrehajtás_Click(object sender, EventArgs e)
{
int n_edik;
if (textBox1.Text != "" && textBox2.Text != "" &&
textBox3.Text != "")
{
első = Int32.Parse(textBox1.Text);
hányad = Int32.Parse(textBox2.Text);
szám = Int32.Parse(textBox3.Text);
n_edik = Mértanisor(első, hányad, szám);
textBox4.Text = "A sorozat " + szám + ". tagja: "
+ n_edik;
}
}
private void Kiírás_Click(object sender, EventArgs e)
{
string s;
s = "";
listBox1.Items.Clear();
listBox1.Items.Add("1.elem: " + első);
s = 1 + ".elem: " + első;
s = "";
for (int i = 2; i <= szám; i++)
{
első *= hányad;
s = i + ".elem: " + első;
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 megoldásai: