Алгоритм получения значения из таблицы - 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());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д