Size: a a a

2020 December 22

A

Alli in CODE BLOG / C#
Ты попробуй результат получить. Он несколько раз показывает правильный ответ а ищредко 0
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Alli
Ты попробуй результат получить. Он несколько раз показывает правильный ответ а ищредко 0
да, да
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
смотри
источник

A

Alli in CODE BLOG / C#
Ок. Можешь объяснить я не очень с рандомом знаком
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
угу
источник

A

Alli in CODE BLOG / C#
Бро рандомные только 2й и 3й столбик. А четвёртый это результат вычитание 3го из 2торого. А там где ноль это наименьшее число из всех результатов...
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Alli
Бро рандомные только 2й и 3й столбик. А четвёртый это результат вычитание 3го из 2торого. А там где ноль это наименьшее число из всех результатов...
я знаю, подожди минутку, я пишу обьяснение
источник

A

Alli in CODE BLOG / C#
Ок
источник

A

Alli in CODE BLOG / C#
Может те проще в лс голосовое
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Идельного рандома в проге нет
поэтому берется какое-либо число, и потом проганяется через сложную функцию, чтобы на выходе получилось другое число, потом для следующего рандома, берется созданный результат, и тд.......... Самое первое значение которое использовалось в цепочке называется сидом

то есть, например, при создании Random ты указал сид 2
потом вызвал Random.Next() эта двойка прогналась через функцию и ты получил, допустим 103
Потом при следующем вызове рандом будет подставлять в функцию уже 103, и т.д

Так как функция это просто последовательность действий - если задать двум рандомам один и тот же сид, то их цепочка случайных чисел будет одиннакова  - за счет этого, например, в майнкрафте, ты можешь задать чей-то сид и получить точно такой же мир как у того человека

Дальше, так как ты не указывал сид явно, random взял вместо него значение по умолчанию, а именно - текущее время.
Так как инициализация твоих двух рандомов стоит  рядом, иногда они срабатывают в один тик времени, и, соответсвтенно, они имеют одиннаковый сид, и их цепочка значений будет одиннаковая)

а так как ты в summan пишешь разницу этих чисел, если ты отнимешь одиннаковые числа получишь ноль, вот он у тебя и всплывает
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
этот механизм называется псевдорандом, и его фича с сидами это одновременно и плюс и минус

там где нужна максимальная случайность, берутся оочень рандомные значения, например, шумы с микрофона или значения случайных регистров
источник

A

Alli in CODE BLOG / C#
Посмотри в summan нет нуля. Согласно логики прога должна выбрать наименьшее значение из 4го столбик.
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
в твоем случае, выходов несколько:
либо оставить только 1 рандом
                   inkomst[i] = r.Next(0, 15000);
                   utgift [i] = r.Next(500, 10000);
либо убедиться что сиды в тех двух будут всегда разные, тут тоже несколько вариантов
можно останавливать поток на пару миллисекунд, чтобы время точно было разным, либо задавать сид явно, используя, например, рандомное значение из первого рандома)

(что то типо)


   Random r = new Random();
Random r1 = new Random(r.Next(1,1000000000));
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
хм, стоп
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
действительно
источник

A

Alli in CODE BLOG / C#
То есть если рандом вычел два одинаковых значения то в summan (4й столбик) тогда был бы 0 и это логично что прога показывает 0
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
да, да
источник

A

Alli in CODE BLOG / C#
А такого значения нет. И если перезапустить то результат будет правильный и так несколько раз. Но в какой-то момент почему-то результат совсем не логичен
источник

A

Alli in CODE BLOG / C#
Если не трудно можешь попробовать у себя на компе. Я думаю может у меня с компом беда
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
попробовал
источник