public static double equatePolyXPoly(polyterm[] anArray, string[] variables) { string[,] variables2 = new string[variables.Length, 2]; char[] sep = new char[] { '=', ' ' }; int i = 0; foreach (string avar in variables) { string[] splitavar1 = avar.Split(sep, System.StringSplitOptions.RemoveEmptyEntries); foreach (string term in splitavar1) { if (IsDigit(term) == false) { variables2[i, 0] = term; variables2[i, 1] = ""; } if (IsDigit(term) == true) { variables2[i, 1] = term; break; } } i++; } if (testprint == true) { for (i = 0; i <= variables2.GetUpperBound(0); i++) { for (int j = 0; j <= variables2.GetUpperBound(1); j++) { Console.Write("i[{0}]j[{1}]str[{2}] ", i, j, variables2[i, j]); } Console.WriteLine(); } } //check if input terms are present. for (i = 0; i <= variables2.GetUpperBound(0); i++) { for (int j = 0; j <= anArray.GetUpperBound(0); j++) { if (variables2[i, 0] == anArray[j].x) { break; } } } i = 0; double mult = 1; foreach (polyterm aterm in anArray) { for (int j = 0; j <= variables2.GetUpperBound(0); j++) { if (aterm.x == variables2[j, 0] || aterm.x == " ") { mult *= aterm.equateterm(double.Parse(variables2[j, 1])); if (testprint == true) { Console.WriteLine("mult [{0}] aterm [{1}]", mult,aterm); } } } } return mult; }
public static double equatePolyPlusPoly(polyterm[] anArray, string[] variables) { string[,] variables2 = new string [variables.Length, 2]; char[] sep = new char[] { '=' , ' '}; int i = 0; foreach (string avar in variables) { string[] splitavar1 = avar.Split(sep, System.StringSplitOptions.RemoveEmptyEntries); foreach (string term in splitavar1) { if (IsDigit(term) == false) { variables2[i, 0] = term; variables2[i, 1] = "0"; } if (IsDigit(term) == true) { variables2[i, 1] = term; break; } } i++; } //check if input terms are present. for (i = 0; i <= variables2.GetUpperBound(0); i++) { for (int j = 0; j <= anArray.GetUpperBound(0); j++) { if (variables2[i, 0] == anArray[i].x) { break; } if (j == anArray.GetUpperBound(0)) { Console.WriteLine("Variable isn't present in Equation"); return 0; } } } i = 0; double sum = 0.0; foreach (polyterm aterm in anArray) { for (int j = 0; j <= variables2.GetUpperBound(0); j++) { if (aterm.x == variables2[j, 0]) { sum += aterm.equateterm(double.Parse(variables2[j, 1])); } } } return sum; }