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

C# MŰHELY

C# MŰHELY

FÜGGVÉNY: Másodfokú egyenlet megoldása

2021. február 06. - Benkő Tiborné

Írjunk programot, amely függvénnyel oldja meg a másodfokú egyenlet együtthatóinak ismeretében az egyenlet gyökeit.

A feladat megoldása:

           double a, b, c;
        static int adat = 0;
        static void MásodFg(double a, double b, double c,
                            out string s,
                            out int kód,
                            out double x1,out double x2,
                            out double xk1, 
                            out double xk2)
       {
            double d; x1 = 0; x2 = 0; xk1 = 0; xk2 = 0;
            kód = 0; s = "";
            if (adat == 1)
            {
               if (a == 0)
               {
                  if (b == 0)
                  {
                     if (c == 0)
                     {
                         s =
                      "Az egyenletnek bármelyik szám a megoldása!";
                     }
                     else
                     {
                         s = "Ellentmondás, nincs megoldás!";
                     }
                }
                else
                {
                    x1 = -c / b;
                    s = "Az egyenlet elsőfokú. ";
                    kód = 1;
                }
             }
             else
             { 
                d = b * b - 4 * a * c;
                if (d == 0)
                {
                   x1 = -b / (2 * a);
                   s = "Egybeeső gyök.";
                   kód = 2;
                }
                else if (d > 0)
                {
                   x1 = (-b + Math.Sqrt(d)) / (2 * a);
                   x2 = (-b - Math.Sqrt(d)) / (2 * a);
                   s = "Valós gyökök.";
                   kód = 3;
                }
                else
                {
                   x1 = -b / (2 * a);
                   xk1 = Math.Sqrt(Math.Abs(d)) / (2 * a);
                   xk2 = -xk1;
                   s = "Komplex gyökök.";
                   kód = 4;
                }
              } 
            }
            else
                MessageBox.Show("Nincs adat megadva!");
        }

        private void Olvasás_Click(object sender, EventArgs e)
        {
            adat=0;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")
            {
                a = Double.Parse(textBox1.Text);
                b = Double.Parse(textBox2.Text);
                c = Double.Parse(textBox3.Text);
                adat = 1;
            }
        }

        private void Megoldás_Click(object sender, EventArgs e)
        {
            string s;
            int kód;
            double x1, x2, xk1, xk2;
            MásodFg(a, b, c, out s, out kód, out x1,
                    out x2, out xk1, out  xk2);
            textBox8.Text = s;

            switch (kód)
            {
                case 1: textBox4.Text = x1.ToString();
                        break;
                case 2: textBox4.Text = x1.ToString();
                        break;
                case 3: textBox4.Text = x1.ToString();
                        textBox5.Text = x2.ToString();
                        break;
                case 4: textBox4.Text = x1.ToString();
                        textBox5.Text = x1.ToString();
                        textBox6.Text = xk1.ToString();
                        textBox7.Text = xk2.ToString();
                        break;
             }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = ""; textBox5.Text = "";
            textBox6.Text = ""; t
extBox7.Text = "";
            textBox8.Text = ""; adat = 0;
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = ""; textBox5.Text = "";
            textBox6.Text = "";
 textBox7.Text = "";
            textBox8.Text = ""; adat = 0;
        }

A program futási eredményei:

 

A bejegyzés trackback címe:

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

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