Просмотр полной версии : [Вопрос] Нужен разбор кода без умничества просто скажите и все
for(new i = size_w - 1; i > -1; i--)
{
sum += array[i];
if(random(sum) < array[i])
{
result = i;
}
}
return result;
}
new array[] = {5, 3, 15, 7, 50, 10};
for(new i; i < 10; i++)
{
printf("%d", randomfear(array));
}
Нужен полный разбор и объяснение каждой функции и т.д
for(new i = size_w - 1; i > -1; i--) - цикл
sum += array[i]; - задаётся значение для sum
if(random(sum) < array[i]) - проверка если 1 значение меньше второго, то...
{
result = i; - ...результат = i
}
Второй кусок:
new array[] = {5, 3, 15, 7, 50, 10}; - задаётся массив
for(new i; i < 10; i++) - цикл
{
printf("%d", randomfear(array)); - вывод форматированной строки в консоль.
}
я это итак знаю, мне нужно знать как это работает. Именно sum += array[i] откуда берутся числа, если число было он опять выбирается объясните крч спс)жду
Seregamil
24.08.2017, 18:51
new array[] = {5, 3, 15, 7, 50, 10}; // инициализируется массив с числами
for(new i; i < 10; i++) // цикл от 0 до 9 включительно
{
printf("%d", randomfear(array)); // выводит результат выполнения функции randomfear
}
//Что делает randomfear в душе не чаю, соответственно результат тоже не известен
for(new i = size_w - 1; i > -1; i--) // цикл от максимального значения size_w, откуда оно берется - тоже только Вам известно
// цикл идет до 0
{
sum += array[i]; // к переменной sum добавляется значение из массива array по индексу i
if(random(sum) < array[i]) // если рандомное число от 0 до значения sum меньше значения array[i]
{
result = i; // то результатом назначается это число, по логике вещей тут цикл должен оборваться, ну да ладно
}
}
return result;
}
vasyok28
24.08.2017, 19:31
new array[] = {5, 3, 15, 7, 50, 10}; // инициализируется массив с числами
for(new i; i < 10; i++) // цикл от 0 до 9 включительно
{
printf("%d", randomfear(array)); // выводит результат выполнения функции randomfear
}
//Что делает randomfear в душе не чаю, соответственно результат тоже не известен
for(new i = size_w - 1; i > -1; i--) // цикл от максимального значения size_w, откуда оно берется - тоже только Вам известно
// цикл идет до 0
{
sum += array[i]; // к переменной sum добавляется значение из массива array по индексу i
if(random(sum) < array[i]) // если рандомное число от 0 до значения sum меньше значения array[i]
{
result = i; // то результатом назначается это число, по логике вещей тут цикл должен оборваться, ну да ладно
}
}
return result;
}
По логике не должен, смотри внимательно)
Seregamil
24.08.2017, 20:02
По логике не должен, смотри внимательно)
Ну я по сути и не знаю, где и для чего используется данный код, так что моя логика может отличаться от логики создателя кода)
vasyok28
24.08.2017, 20:16
http://pro-pawn.ru/showthread.php?15134-randomfear%28%29-Рандом-с-вероятностью
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot