Создать двумерный массив из вещественных чисел с рандомными числами C#
Не получается создать двумерный массив с вещественными числами, с int вроде все ок без проблем, а вот рандомный вещественный двумерный никак не додумаю
double[,] a = new double[5, 10];
Random random = new Random();
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 10; j++)
{
a[i, j] = random.Next(100);
Console.Write("{0,4}", a[i, j]);
}
Console.WriteLine();
}
Код работает, но вещественные числа не выходят типа 15,34
Ответы (2 шт):
Автор решения: aepot
→ Ссылка
На самом деле числа вещественные, просто их надо отформатировать, типа "{0,6:F2}", тогда вы увидите нули после запятой. Если вам нужны не нули, то это надо либо генерить целые до 10000, преобразовать в double и делить на 100, либо использовать NextDouble().
double[,] a = new double[5, 10];
Random random = new Random();
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 10; j++)
{
a[i, j] = random.NextDouble() * 100; // NextDouble() дает случайное вещественное число в диапазоне от 0 до 1
Console.Write("{0,6:F2}", a[i, j]);
}
Console.WriteLine();
}
6,72 60,22 24,42 84,20 12,61 30,64 93,47 3,50 22,79 4,34
95,71 90,95 44,50 21,76 1,87 80,73 32,53 40,60 0,96 67,08
41,52 24,01 95,61 63,47 75,61 62,24 24,47 94,76 23,46 20,95
19,74 26,59 48,49 41,25 36,37 14,57 47,68 54,40 53,48 55,64
60,67 24,19 98,83 87,44 9,94 86,21 10,73 9,66 74,33 8,64
Автор решения: Russell
→ Ссылка
// Метод заполнения массива случайными вещественными числами от -10 до 10
double[,] FillMatrix(int rows, int cols)
{
double [,] array = new double[rows, cols];
Random rand = new Random();
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
array[i, j] = Math.Round(rand.Next(-100, 101)*0.1, 1);
}
}
return array;
}