Алгоритм получения значения из таблицы - C#
Формулировка задачи:
Здравствуйте. Есть таблица значений, сверху расположена температура, слева плотность, то есть нужно выбрать значение в зависимости от температуры и плотности (см. рисунок приложенный).
То есть, допустим у меня температура 12 °С и плотность 800, я должен получить значение 0,958. Можно конечно все на if'ах написать, но это говнокод какой то будет. Подскажите, в каком направлении думать?
Решение задачи: «Алгоритм получения значения из таблицы»
textual
Листинг программы
double T = 6.0;//исходная температура - откуда-то вводится int P = 760;//исходное давление - откуда-то вводится //вводить полностью не будем, проверять правильность заполнения исходных данных также не будем!! string[] temp = { "0,0-4,9", "5,0-9,9" }; int[] pres = { 750, 760, 770 }; double[,] coef = { {1.082, 1.08}, {1.054, 1.052}, {1.027, 1.025} }; int t = -1; //индекс по температуре int p = -1; //индекс по давлению //ищем номер колонки for (int i = 0; i < temp.Length; i++) { int k = temp[i].IndexOf('-'); double N = Convert.ToDouble(temp[i].Substring(0, k)); double E = Convert.ToDouble(temp[i].Substring(k + 1)); if (T >= N && T <= E) { t = i; break; } } //ищем номер строки for (int i = 0; i < pres.Length; i++) if (P<=pres[i]) {p = i; break;} //выбираем значение if (t == -1 || p == -1) MessageBox.Show("Указанные значения не найдены"); else MessageBox.Show("Требуемый коэффициент равен " + coef[p, t].ToString());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д