Поиск числа между ближайшими числами - C#

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

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

Здравствуйте. Есть два массива : double[] mass; mass = new double[] { 0.01, 0.02, 0.03, 0.039, 0.048, 0.058, 0.067, 0.077, 0.085, 0.095, 0.104, 0.113, 0.121, 0.13, 0.139, 0.147, 0.155, 0.164, 0.172, 0.18, 0.188, 0.196, 0.203, 0.211, 0.219, 0.226, 0.236, 0.241, 0.248, 0.255, 0.26, 0.269, 0.275, 0.282, 0.289, 0.295, 0.301, 0.309, 0.314, 0.32, 0.326, 0.332, 0.337, 0.343, 0.349, 0.354, 0.359, 0.365, 0.37, 0.375, 0.38, 0.385, 0.39, 0.394, 0.399, 0.403, 0.408, 0.412, 0.416, 0.42, 0.424, 0.428, 0.432, 0.435, 0.439, 0.442, 0.446, 0.449, 0.452, 0.455 }; double[] uz; uz = new double[] { 0.995, 0.99, 0.985, 0.98, 0.975, 0.97, 0.965, 0.96, 0.955, 0.95, 0.945, 0.94, 0.935, 0.93, 0.925, 0.92, 0.915, 0.910, 0.905, 0.9, 0.895, 0.89, 0.885, 0.89, 0.885, 0.88, 0.875, 0.87, 0.865, 0.86, 0.855, 0.85, 0.845, 0.84, 0.835, 0.83, 0.825, 0.82, 0.815, 0.805, 0.8, 0.795, 0.785, 0.78, 0.775, 0.77, 0.765, 0.76, 0.755, 0.75, 0.745, 0.74, 0.735, 0.73, 0.725, 0.72, 0.715, 0.71, 0.705, 0.7, 0.695, 0.69, 0.685, 0.68, 0.675, 0.67, 0.655, 0.66, 0.655, 0.65 }; Как при вводе , например,значения 0.034, вывести два ближайших значения(между которыми оно лежит) 0,03 и 0,339 в текстбокс2 и текстбокс3 соответственно? А второй массив как бы приравнять, то есть 0.01 = 0.095; 0.02=0.99;... 0.48=0.975; и т.д. При воде в тестбокс 1 значения 0.034 , вывести в текстбокс 4 и 5 значения 0.985 и 0.98.? Дайте хоть намек или пример, очень Нужно!!!!

Решение задачи: «Поиск числа между ближайшими числами»

textual
Листинг программы
var example = 0.034;
 
            double floor = 0;
            double ceiling = 0;
            var first = mass.Select((v, i) => new {Index = i, Value = v}).Where(iv => iv.Value <= example).ToArray();
            if (first.Any())
                floor = first.Max(iv => iv.Value);
 
            var second = mass.Select((v, i) => new { Index = i, Value = v }).Where(iv => iv.Value >= example).ToArray();
            if (second.Any())
                ceiling = second.Min(iv => iv.Value);
... 
textBox4.Text = uz[floor.Index];
textBox5.Text = uz[ceiling.Index];

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


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

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

13   голосов , оценка 4.231 из 5
Похожие ответы