private EqualinationRes calcRegularEqualinationFromSymbols(SmallEqualination sideOne, SmallEqualination sideTwo) { SmallEqualination smallRes = subtractTwoSmallEqualinations(sideOne, sideTwo); //check what kind of equalination is it EqualinationRes res = new EqualinationRes(); if (smallRes.XList.Count == 1) //regular equlination { res.Results.Add((-smallRes.Num) / smallRes.XList[0]); } else if (smallRes.XList.Count == 2) { return(rootFormula(smallRes.XList[1], smallRes.XList[0], smallRes.Num)); } else { res.cantSolve = true; } return(res); }
private EqualinationRes rootFormula(decimal a, decimal b, decimal c) { EqualinationRes res = new EqualinationRes(); //check if b^2-4ac isnt below zero decimal root = (decimal)Math.Sqrt((double)(b * b - 4 * a * c)); if (root < 0) { return(res); } else if (root == 0) { res.Results.Add(-b / (2 * a)); } else { res.Results.Add((-b + root) / (2 * a)); res.Results.Add((-b - root) / (2 * a)); } return(res); }
private void showTheAnswer(EqualinationRes res) { MessageBox.Show(res.ToString()); }