С#. Заполнить массив вещественными значениями х (22 ≤ х < 23)
Необходимо заполнить массив из 15 элементов случайным образом: вещественными значениями х (22 <= х < 23), то есть, как я понимаю, должны выводиться числа по типу: 22.1, 22.4, 22,9...
Подскажите, пожалуйста, как можно решить это задание. Пробовал использовать генератор NextDouble, но ничего кроме ошибок не выдает.
Ответы (2 шт):
Автор решения: aepot
→ Ссылка
Мне кажется, когда есть генератор случайных чисел от 0 до 1, то достаточно легко сделать от 22 до 23, просто добавив 22.
double[] numbers = new double[15];
Random rnd = new Random();
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = rnd.NextDouble() + 22;
}
Console.WriteLine(string.Join(" ", numbers.Select(n => $"{n:F2}")));
Вывод в консоль
22,87 22,86 22,60 22,58 22,52 22,53 22,03 22,63 22,82 22,84 22,09 22,36 22,14 22,84 22,52
Автор решения: Carbonex
→ Ссылка
Код программы:
double[] numbers = new double[15];
Random rnd = new Random();
Console.WriteLine("Массив:");
for (int i = 0; i < numbers.Length; i++) {
numbers[i] = rnd.NextDouble() * (23 - 22) + 22;
Console.WriteLine($"{i+1}-е число: {numbers[i]}");
}
Результат:
Массив:
1-е число: 22,53014331242542
2-е число: 22,63513740321395
3-е число: 22,909305639057095
4-е число: 22,333942227686727
5-е число: 22,7651098853746
6-е число: 22,678966303206497
7-е число: 22,227927277436446
8-е число: 22,237210721819295
9-е число: 22,603289086186926
10-е число: 22,389230960229984
11-е число: 22,469346650629
12-е число: 22,49739134148573
13-е число: 22,646315660162976
14-е число: 22,42111601234466
15-е число: 22,631067995275867