- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
using System;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Linq;
using System.Collections.Generic;
namespace CSharp_Shell
{
public class Program
{
static int flipACoin() {
Random rand = new Random();
int coin = rand.Next(0,2);
return coin;
}
public static void Main(string[] args)
{
int headsCount = 0;
int tailsCount = 0;
int tmp;
Console.Write("Enter a number of flips\n");
for(int flips = int.Parse(Console.ReadLine()); flips > 0; flips--)
{
Console.Write("You flipped: ");
tmp = flipACoin();
if(tmp == 1)
{
Console.Write("Heads\n");
headsCount++;
}
else
{
Console.Write("Tails\n");
tailsCount++;
}
}
Console.Write("Heads: " + headsCount + "\nTails: " + tailsCount + "\n");
}
}
}
Флипает коинсу по аглицки. Есть ли это говнокодом?
webmonkey 28.07.2018 00:10 # 0
Зачем создавать рандомизатор при каждом вызове функции?
Где обработка ошибок?
Почему в одном месте ты объявляешь переменную сразу в конструкции языка, в другом - отдельно? Ты шизофреник?
Если что, есть
shite 28.07.2018 10:34 # 0
guest8 28.07.2018 00:13 # −999
666_N33D135 28.07.2018 05:20 # 0
KOHTPArEHTTBOEuMAMKu 28.07.2018 13:50 # 0
gost 28.07.2018 19:39 # +2
>>> Initializes a new instance of the Random class, using a time-dependent default seed value.
А поскольку в цикле новые объекты Random создаются очень быстро, семя не успевает измениться, как следствие - rand.Next(0,2); всегда выдаёт одно и то же значение:
Ну и даже если бы успевало, куски подпоследовательностей случайных чисел от ГПСЧ, инициализированных разными seed'ами, соединённые в одну последовательность, будут (скорее всего) иметь очень хреновое распределение.
bormand 28.07.2018 19:42 # +3
guest8 28.07.2018 19:48 # −999
CHayT 28.07.2018 21:05 # +1
bormand 28.07.2018 21:07 # 0
roskomgovno 28.07.2018 22:47 # 0
Не надо Random rand = new Random(); каждый раз
зы: gost вон выше уже объяснил почему
666_N33D135 29.07.2018 18:40 # 0
Я вас поздравляю, вы получаете бронзовую мендаль.
roskomgovno 30.07.2018 12:40 # 0
roskomgovno 29.07.2018 17:49 # 0
у вас же var, вывод типов, вот это всё