C# Rechner soll für x eine Zahl finden damit in der Klammer 0 rauskommt?

2 Antworten

Naja, das ist eben eine Gleichung: 0,5x + 2 = 0. Die willst du lösen. Da gibt es nur zwei Möglichkeiten:

a) ein komplexes, intelligentes Suchverfahren, das die Gleichung nach x auflöst (gibt es z.B. bei Mathematica, funktioniert nicht immer und ist manchmal zu langsam und sicher ganz und gar nichts für Programmier-Anfänger)

b) ein Näherungsverfahren, wie das Newton-Verfahren. Funktioniert auch nicht immer, ist aber schnell und relativ einfach zu programmieren. Bei komplizierteren Gleichungen könnte es sein, dass man das Newton-Verfahren mehrfach mit verschiedenen Startpunkten ausführen muss, um eine Nullstelle zu erhalten.

Ein Programm zu bauen, was so eine Gleichung automatisch auflösen kann, ist sehr schwierig. Das wirst du als Anfänger nicht so schnell hinkriegen. Was du aber sehr einfach machen kannst, ist die Rechnung für verschiedene X-Werte durchzuprobieren.

static void Main(string[] args)
{
    for (int x = -50; x < 50; x++)
    {
        int x2 = x * x;
        int x3 = x * x * x;
        if ((0.5*x3 + 2*x2) == 0)
        {
            Console.WriteLine("X=" + x);
        }
    }
}
jonas0109 
Fragesteller
 30.04.2021, 21:20

Das hat mir geholfen. Hab es aber umgeändert, weil ich ja schon 2x ausgeklammert habe und nur 0,5*x+2 in der Klammer rechnen brauchte.

1