Olvassunk be egy pozitív egész számot és írjuk ki az összes osztóját. A feladatot do while ciklussal oldjuk meg.
A feladat megoldásához három egész típusú változóra lesz szükségünk:
- szám tartalmazza a vizsgálandó számot,
- osztó tartalmazza az osztót.
- osztódb tartalmazza az osztók számát
A feladat megoldása do-while ciklussal
Az osztó változót a ciklus előtt a 2 kezdőértékre kell beállítanunk. A do-while ciklus addig működik, míg a feltétel igaz (nem egyelő 0), akkor befejezi be a működését, amikor a feltétel hamissá válik (0) válik. A do while ciklusnál az osztó<= szám / 2 feltétel oldja meg a feladatot.
// Osztók keresése do-while ciklussal
private void button1_Click(object sender, EventArgs e)
{
int osztó, szám, osztódb=0;
listBox1.Items.Clear();
if (textBox1.Text != "")
{
szám = Int32.Parse(textBox1.Text);
if (szám > 0)
{
osztó = 2;
do
{
if (szám % osztó == 0)
{
listBox1.Items.Add(osztó);
osztódb++;
}
osztó++;
} while (osztó <= szám / 2);
if (osztódb == 0)
textBox2.Text = "PRIMSZÁM";
else
textBox2.Text = "Osztók darabszáma: " +
osztódb.ToString();
}
else
MessageBox.Show("Hibás adat!","Üzenet");
}
}
// Ha az adat változik az eredmények törlődnek
private void textBox1_TextChanged(object sender, EventArgs e)
{
listBox1.Items.Clear();
textBox2.Text = "";
}
A program futási eredményei: