Алгоритм получения значения из таблицы - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Есть таблица значений, сверху расположена температура, слева плотность, то есть нужно выбрать значение в зависимости от температуры и плотности (см. рисунок приложенный). То есть, допустим у меня температура 12 °С и плотность 800, я должен получить значение 0,958. Можно конечно все на if'ах написать, но это говнокод какой то будет. Подскажите, в каком направлении думать?

Решение задачи: «Алгоритм получения значения из таблицы»

textual
Листинг программы
  1. double T = 6.0;//исходная температура - откуда-то вводится
  2.             int P = 760;//исходное давление - откуда-то вводится
  3.             //вводить полностью не будем, проверять правильность заполнения исходных данных также не будем!!
  4.             string[] temp = { "0,0-4,9", "5,0-9,9" };
  5.             int[] pres = { 750, 760, 770 };
  6.             double[,] coef = {
  7.                                  {1.082, 1.08},
  8.                                  {1.054, 1.052},
  9.                                  {1.027, 1.025}
  10.                              };
  11.             int t = -1; //индекс по температуре
  12.             int p = -1; //индекс по давлению
  13.             //ищем номер колонки
  14.             for (int i = 0; i < temp.Length; i++)
  15.             {
  16.                 int k = temp[i].IndexOf('-');
  17.                 double N = Convert.ToDouble(temp[i].Substring(0, k));
  18.                 double E = Convert.ToDouble(temp[i].Substring(k + 1));
  19.                 if (T >= N && T <= E) { t = i; break; }
  20.             }
  21.             //ищем номер строки
  22.             for (int i = 0; i < pres.Length; i++)
  23.                 if (P<=pres[i]) {p = i; break;}
  24.            
  25.             //выбираем значение
  26.             if (t == -1 || p == -1) MessageBox.Show("Указанные значения не найдены");
  27.             else MessageBox.Show("Требуемый коэффициент равен " + coef[p, t].ToString());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы